- Timestamp:
- 2017-03-09T13:52:43+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5785_SSS_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcisf.F90
r5682 r7773 170 170 DO jj = 1, jpj 171 171 jk = 2 172 DO WHILE ( jk .LE. mbkt(ji,jj) .AND. fsdepw(ji,jj,jk) < rzisf_tbl(ji,jj) ) ; jk = jk + 1 ; END DO172 DO WHILE ( jk .LE. mbkt(ji,jj) .AND. gdepw_0(ji,jj,jk) < rzisf_tbl(ji,jj) ) ; jk = jk + 1 ; END DO 173 173 misfkt(ji,jj) = jk-1 174 174 END DO … … 188 188 END IF 189 189 190 ! save initial top boundary layer thickness 190 191 rhisf_tbl_0(:,:) = rhisf_tbl(:,:) 192 193 END IF 194 195 ! ! ---------------------------------------- ! 196 IF( kt /= nit000 ) THEN ! Swap of forcing fields ! 197 ! ! ---------------------------------------- ! 198 fwfisf_b (:,: ) = fwfisf (:,: ) ! Swap the ocean forcing fields except at nit000 199 risf_tsc_b(:,:,:) = risf_tsc(:,:,:) ! where before fields are set at the end of the routine 200 ! 201 ENDIF 202 203 IF( MOD( kt-1, nn_fsbc) == 0 ) THEN 191 204 192 205 ! compute bottom level of isf tbl and thickness of tbl below the ice shelf … … 199 212 200 213 ! determine the deepest level influenced by the boundary layer 201 ! test on tmask useless ?????202 214 DO jk = ikt, mbkt(ji,jj) 203 215 IF ( (SUM(fse3t_n(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk … … 211 223 END DO 212 224 END DO 213 214 END IF215 216 ! ! ---------------------------------------- !217 IF( kt /= nit000 ) THEN ! Swap of forcing fields !218 ! ! ---------------------------------------- !219 fwfisf_b (:,: ) = fwfisf (:,: ) ! Swap the ocean forcing fields except at nit000220 risf_tsc_b(:,:,:) = risf_tsc(:,:,:) ! where before fields are set at the end of the routine221 !222 ENDIF223 224 IF( MOD( kt-1, nn_fsbc) == 0 ) THEN225 226 225 227 226 ! compute salf and heat flux … … 472 471 473 472 nit = nit + 1 474 IF (nit .GE. 100) THEN 475 !WRITE(numout,*) "sbcisf : too many iteration ... ", zhtflx, zhtflx_b,zgammat, rn_gammat0, rn_tfri2, nn_gammablk, ji,jj 476 !WRITE(numout,*) "sbcisf : too many iteration ... ", (zhtflx - zhtflx_b)/zhtflx 477 CALL ctl_stop( 'STOP', 'sbc_isf_hol99 : too many iteration ...' ) 478 END IF 473 IF (nit .GE. 100) CALL ctl_stop( 'STOP', 'sbc_isf_hol99 : too many iteration ...' ) 474 479 475 ! save gammat and compute zhtflx_b 480 476 zgammat2d(ji,jj)=zgammat … … 794 790 ! test on tmask useless ????? 795 791 DO jk = ikt, mbkt(ji,jj) 796 !IF ( (SUM(fse3t(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk792 IF ( (SUM(fse3t(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk 797 793 END DO 798 794 rhisf_tbl(ji,jj) = MIN(rhisf_tbl(ji,jj), SUM(fse3t(ji,jj,ikt:ikb))) ! limit the tbl to water thickness.
Note: See TracChangeset
for help on using the changeset viewer.