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 15031 for NEMO/trunk/src/NST/agrif_ice_interp.F90 – NEMO

Ignore:
Timestamp:
2021-06-21T12:05:41+02:00 (3 years ago)
Author:
jchanut
Message:

#2638, add lbclnks for ice initial state if interpolated from parent

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/NST/agrif_ice_interp.F90

    r14125 r15031  
    2727   USE icevar 
    2828   USE sbc_ice, ONLY : tn_ice 
    29     
     29   USE lbclnk   
     30  
    3031   IMPLICIT NONE 
    3132   PRIVATE 
     
    5960      CALL Agrif_init_variable(tra_iceini_id,procname=interp_tra_ice) 
    6061      ! 
     62      CALL lbc_lnk( 'agrif_istate_ice',  a_i,'T',1._wp,  v_i,'T',1._wp, & 
     63               &         v_s,'T',1._wp, sv_i,'T',1._wp, oa_i,'T',1._wp, & 
     64               &        a_ip,'T',1._wp, v_ip,'T',1._wp, v_il,'T',1._wp ) 
     65      CALL lbc_lnk( 'agrif_istate_ice', t_su,'T',1._wp ) 
     66      CALL lbc_lnk( 'agrif_istate_ice',  e_s,'T',1._wp ) 
     67      CALL lbc_lnk( 'agrif_istate_ice',  e_i,'T',1._wp ) 
     68      ! 
    6169      ! Set u_ice, v_ice: 
    6270      use_sign_north = .TRUE. 
    6371      sign_north = -1. 
    64       Agrif_UseSpecialValue = .TRUE. 
     72      ! JC: setting special value to -9999. with north Fold crossing 
     73      !     does not work probably because of the sign change. 
     74      !     it's likely that the same issue could occur at boundaries 
     75      !     but leave it as is for the time being 
     76      Agrif_SpecialValue = 0._wp 
    6577      CALL Agrif_init_variable(u_iceini_id  ,procname=interp_u_ice) 
    6678      CALL Agrif_init_variable(v_iceini_id  ,procname=interp_v_ice) 
    67       Agrif_SpecialValue = 0._wp 
    6879      use_sign_north = .FALSE. 
    6980      Agrif_UseSpecialValue = .FALSE. 
    70       ! lbc ???? 
     81      !  
     82      CALL lbc_lnk( 'agrif_istate_ice', u_ice, 'U', -1._wp, v_ice, 'V', -1._wp ) 
    7183      ! 
    7284      CALL ice_var_glo2eqv 
     
    139151      ! 
    140152      IF( before ) THEN  ! parent grid 
    141          ptab(:,:) = e2u(i1:i2,j1:j2) * u_ice(i1:i2,j1:j2) 
     153         ptab(i1:i2,j1:j2) = e2u(i1:i2,j1:j2) * u_ice(i1:i2,j1:j2) 
    142154         WHERE( umask(i1:i2,j1:j2,1) == 0. )   ptab(i1:i2,j1:j2) = Agrif_SpecialValue 
    143155      ELSE               ! child grid 
     
    166178      ! 
    167179      IF( before ) THEN  ! parent grid 
    168          ptab(:,:) = e1v(i1:i2,j1:j2) * v_ice(i1:i2,j1:j2) 
     180         ptab(i1:i2,j1:j2) = e1v(i1:i2,j1:j2) * v_ice(i1:i2,j1:j2) 
    169181         WHERE( vmask(i1:i2,j1:j2,1) == 0. )   ptab(i1:i2,j1:j2) = Agrif_SpecialValue 
    170182      ELSE               ! child grid 
Note: See TracChangeset for help on using the changeset viewer.