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 14766 for NEMO/releases/r4.0 – NEMO

Changeset 14766 for NEMO/releases/r4.0


Ignore:
Timestamp:
2021-04-30T11:08:19+02:00 (3 years ago)
Author:
clem
Message:

4.0-HEAD: solve ticket #2660

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/releases/r4.0/r4.0-HEAD/src/OCE/BDY/bdyice.F90

    r13589 r14766  
    153153            h_i (ji,jj,  jl) = ( h_i (ji,jj,  jl) * zwgt1 + dta%h_i(i_bdy,jl) * zwgt ) * tmask(ji,jj,1)  ! Ice  depth  
    154154            h_s (ji,jj,  jl) = ( h_s (ji,jj,  jl) * zwgt1 + dta%h_s(i_bdy,jl) * zwgt ) * tmask(ji,jj,1)  ! Snow depth 
    155             t_i (ji,jj,:,jl) = ( t_i (ji,jj,:,jl) * zwgt1 + dta%t_i(i_bdy,jl) * zwgt ) * tmask(ji,jj,1)  ! Ice  temperature 
    156             t_s (ji,jj,:,jl) = ( t_s (ji,jj,:,jl) * zwgt1 + dta%t_s(i_bdy,jl) * zwgt ) * tmask(ji,jj,1)  ! Snow temperature 
    157             t_su(ji,jj,  jl) = ( t_su(ji,jj,  jl) * zwgt1 + dta%tsu(i_bdy,jl) * zwgt ) * tmask(ji,jj,1)  ! Surf temperature 
    158             s_i (ji,jj,  jl) = ( s_i (ji,jj,  jl) * zwgt1 + dta%s_i(i_bdy,jl) * zwgt ) * tmask(ji,jj,1)  ! Ice  salinity 
     155            t_i (ji,jj,:,jl) =                              dta%t_i(i_bdy,jl)          * tmask(ji,jj,1)  ! Ice  temperature 
     156            t_s (ji,jj,:,jl) =                              dta%t_s(i_bdy,jl)          * tmask(ji,jj,1)  ! Snow temperature 
     157            t_su(ji,jj,  jl) =                              dta%tsu(i_bdy,jl)          * tmask(ji,jj,1)  ! Surf temperature 
     158            s_i (ji,jj,  jl) =                              dta%s_i(i_bdy,jl)          * tmask(ji,jj,1)  ! Ice  salinity 
    159159            a_ip(ji,jj,  jl) = ( a_ip(ji,jj,  jl) * zwgt1 + dta%aip(i_bdy,jl) * zwgt ) * tmask(ji,jj,1)  ! Ice  pond concentration 
    160160            h_ip(ji,jj,  jl) = ( h_ip(ji,jj,  jl) * zwgt1 + dta%hip(i_bdy,jl) * zwgt ) * tmask(ji,jj,1)  ! Ice  pond depth 
     
    363363                     !     i-1  i   i    |  !        i  i i+1 |  !          i  i i+1 | 
    364364                     !      >  ice  >    |  !        o  > ice |  !          o  >  o  |       
    365                      ! => set at u_ice(i-1) !  => set to O       !  => unchanged 
     365                     ! => set at u_ice(i-1) !  => set to u_oce   !  => unchanged 
    366366                     IF( zflag == -1. .AND. ji > 1 .AND. ji < jpi )   THEN   
    367367                        IF    ( vt_i(ji  ,jj) > 0. )   THEN   ;   u_ice(ji,jj) = u_ice(ji-1,jj)  
    368                         ELSEIF( vt_i(ji+1,jj) > 0. )   THEN   ;   u_ice(ji,jj) = 0._wp 
     368                        ELSEIF( vt_i(ji+1,jj) > 0. )   THEN   ;   u_ice(ji,jj) = u_oce(ji,jj) 
    369369                        END IF 
    370370                     END IF 
    371371                     ! |    i  i+1 i+1        !  |  i   i i+1        !  | i  i i+1 
    372372                     ! |    >  ice  >         !  | ice  >  o         !  | o  >  o    
    373                      ! => set at u_ice(i+1)   !     => set to O      !     =>  unchanged 
     373                     ! => set at u_ice(i+1)   !     => set to u_oce  !     =>  unchanged 
    374374                     IF( zflag ==  1. .AND. ji+1 < jpi+1 )   THEN 
    375375                        IF    ( vt_i(ji+1,jj) > 0. )   THEN   ;   u_ice(ji,jj) = u_ice(ji+1,jj) 
    376                         ELSEIF( vt_i(ji  ,jj) > 0. )   THEN   ;   u_ice(ji,jj) = 0._wp 
     376                        ELSEIF( vt_i(ji  ,jj) > 0. )   THEN   ;   u_ice(ji,jj) = u_oce(ji,jj) 
    377377                        END IF 
    378378                     END IF 
     
    395395                     !      ice   (jj  )       !       o    (jj  )       !       o    (jj  )        
    396396                     !       ^    (jj-1)       !                         ! 
    397                      ! => set to u_ice(jj-1)   !  =>   set to 0          !   => unchanged         
     397                     ! => set to u_ice(jj-1)   !  =>   set to v_oce      !   => unchanged         
    398398                     IF( zflag == -1. .AND. jj > 1 .AND. jj < jpj )   THEN                  
    399399                        IF    ( vt_i(ji,jj  ) > 0. )   THEN   ;   v_ice(ji,jj) = v_ice(ji,jj-1) 
    400                         ELSEIF( vt_i(ji,jj+1) > 0. )   THEN   ;   v_ice(ji,jj) = 0._wp 
     400                        ELSEIF( vt_i(ji,jj+1) > 0. )   THEN   ;   v_ice(ji,jj) = v_oce(ji,jj) 
    401401                        END IF 
    402402                     END IF 
     
    405405                     !       ^    (jj  )       !       ^    (jj  )       !       ^    (jj  ) 
    406406                     !   ________________      !  ____ice___(jj  )_      !  _____o____(jj  )  
    407                      ! => set to u_ice(jj+1)   !    => set to 0          !    => unchanged   
     407                     ! => set to u_ice(jj+1)   !    => set to v_oce      !    => unchanged   
    408408                     IF( zflag ==  1. .AND. jj < jpj )   THEN               
    409409                        IF    ( vt_i(ji,jj+1) > 0. )   THEN   ;   v_ice(ji,jj) = v_ice(ji,jj+1) 
    410                         ELSEIF( vt_i(ji,jj  ) > 0. )   THEN   ;   v_ice(ji,jj) = 0._wp 
     410                        ELSEIF( vt_i(ji,jj  ) > 0. )   THEN   ;   v_ice(ji,jj) = v_oce(ji,jj) 
    411411                        END IF 
    412412                     END IF 
Note: See TracChangeset for help on using the changeset viewer.