New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 14259 – NEMO

Changeset 14259


Ignore:
Timestamp:
2021-01-05T12:11:16+01:00 (3 years ago)
Author:
davestorkey
Message:

UKMO/NEMO_4.0.3_icb_speed_limit : Bug fix and extra write-outs for error trap in icbutl_bilin_e.

Location:
NEMO/branches/UKMO/NEMO_4.0.3_icb_speed_limit/src/OCE/ICB
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.3_icb_speed_limit/src/OCE/ICB/icbdyn.F90

    r14167 r14259  
    9797            !                                         !**   A1 = A(X1,V1) 
    9898            CALL icb_accel( berg , zxi1, ze1, zuvel1, zuvel1, zax1,     & 
    99                  &                   zyj1, ze2, zvvel1, zvvel1, zay1, zdt_2 ) 
     99                 &                 zyj1, ze2, zvvel1, zvvel1, zay1, zdt_2 ) 
    100100            ! 
    101101            zu1 = zuvel1 / ze1                           !**   V1 in d(i,j)/dt 
     
    119119            !                                         !**   A2 = A(X2,V2) 
    120120            CALL icb_accel( berg , zxi2, ze1, zuvel2, zuvel1, zax2,    & 
    121                  &                   zyj2, ze2, zvvel2, zvvel1, zay2, zdt_2 ) 
     121                 &                 zyj2, ze2, zvvel2, zvvel1, zay2, zdt_2 ) 
    122122            ! 
    123123            zu2 = zuvel2 / ze1                           !**   V2 in d(i,j)/dt 
     
    140140            !                                         !**   A3 = A(X3,V3) 
    141141            CALL icb_accel( berg , zxi3, ze1, zuvel3, zuvel1, zax3,    & 
    142                  &                   zyj3, ze2, zvvel3, zvvel1, zay3, zdt ) 
     142                 &                 zyj3, ze2, zvvel3, zvvel1, zay3, zdt ) 
    143143            ! 
    144144            zu3 = zuvel3 / ze1                           !**   V3 in d(i,j)/dt 
     
    153153            IF( rn_speed_limit > 0._wp ) THEN  ! Limit speed of bergs based on a CFL criteria (if asked) 
    154154               zuvel_rk4 = zuvel1 + 2.*(zuvel2 + zuvel3) + zuvel4 
    155                zvvel_rk4 = zvvel1 + 2.*(zvvel2 + zvvel3) + zuvel4 
     155               zvvel_rk4 = zvvel1 + 2.*(zvvel2 + zvvel3) + zvvel4 
    156156               CALL icb_speed_limit(ze1, ze2, zdt_6, zuvel_rk4, zvvel_rk4, rn_speed_limit, l_loop, zvel_factor, icount, 3) 
    157157               IF(l_loop) CYCLE 
     
    163163            !                                         !**   A4 = A(X4,V4) 
    164164            CALL icb_accel( berg , zxi4, ze1, zuvel4, zuvel1, zax4,    & 
    165                  &                   zyj4, ze2, zvvel4, zvvel1, zay4, zdt ) 
     165                 &                 zyj4, ze2, zvvel4, zvvel1, zay4, zdt ) 
    166166 
    167167            zu4 = zuvel4 / ze1                           !**   V4 in d(i,j)/dt 
  • NEMO/branches/UKMO/NEMO_4.0.3_icb_speed_limit/src/OCE/ICB/icbutl.F90

    r13587 r14259  
    422422      IF    ( ij < mjg( 1 ) ) THEN   ;   ij = 1       ; ierr = ierr + 1 
    423423      ELSEIF( ij > mjg(jpj) ) THEN   ;   ij = jpj     ; ierr = ierr + 1 
    424       ELSE                           ;   ij  = mj1(ij) 
     424      ELSE                           ;   ij = mj1(ij) 
    425425      ENDIF 
    426426      ! 
     
    428428      IF( ij == jpj ) THEN ; ij = ij-1 ; ierr = ierr + 1 ; END IF 
    429429      ! 
    430       IF ( ierr > 0 ) CALL ctl_stop('STOP','icb_utl_bilin_e: an icebergs coordinates is out of valid range (out of bound error)') 
     430      IF ( ierr > 0 ) THEN 
     431         WRITE(numicb,*) '>>>> Out of valid range crash <<<<' 
     432         WRITE(numicb,*) 'new global position estimate (pi,pj) = ',pi,pj  
     433         WRITE(numicb,*) 'mig(1), mig(jpi) : ',mig(1),mig(jpi) 
     434         WRITE(numicb,*) 'mjg(1), mjg(jpj) : ',mjg(1),mjg(jpj) 
     435         WRITE(numicb,*) 'new local position estimate (ii,ij) = ',ii,ij  
     436         WRITE(numicb,*) 'jpi, jpj : ',jpi,jpj 
     437         WRITE(numicb,*) 'nlei, nlej : ',nlei,nlej 
     438         CALL ctl_stop('STOP','icb_utl_bilin_e: an icebergs coordinates is out of valid range (out of bound error)') 
     439      ENDIF 
    431440      ! 
    432441      IF(    0.0_wp <= zi .AND. zi < 0.5_wp   ) THEN 
Note: See TracChangeset for help on using the changeset viewer.