From 5196f92bf66fb0bfc522bf4f909114455adb3842 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Chanut?=
 <jerome.chanut@mercator-ocean.fr>
Date: Mon, 1 Aug 2022 14:47:34 +0000
Subject: [PATCH] Resolve "Issues with ssh initialization in iceinit with vvl
 and AGRIF"

---
 src/OCE/IOM/restart.F90 | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/src/OCE/IOM/restart.F90 b/src/OCE/IOM/restart.F90
index 32e231279..5e3c1301a 100644
--- a/src/OCE/IOM/restart.F90
+++ b/src/OCE/IOM/restart.F90
@@ -31,6 +31,10 @@ MODULE restart
    USE trdmxl_oce     ! ocean active mixed layer tracers trends variables
    USE diu_bulk       ! ???
 #if defined key_agrif
+#if defined key_si3
+   USE iceistate, ONLY: rsshadj, nn_iceini_file
+   USE sbc_oce, ONLY: ln_ice_embd
+#endif
    USE agrif_oce_interp
 #endif
    !
@@ -435,7 +439,21 @@ CONTAINS
          ENDIF
 #if defined key_agrif
          ! Set ghosts points from parent 
-         IF (.NOT.Agrif_Root()) CALL Agrif_istate_ssh( Kbb, Kmm, Kaa, .true. )
+         IF (.NOT.Agrif_Root()) THEN 
+            CALL Agrif_istate_ssh( Kbb, Kmm, Kaa, .true. ) 
+#if defined key_si3
+            IF ( (nn_ice/=2).AND.((Agrif_Parent(nn_ice)==2).AND.                 &
+                              &   (.NOT.(Agrif_Parent(ln_rstart)                 & 
+                              &     .OR.(Agrif_Parent(nn_iceini_file)==2))).AND. &
+                              &   (.NOT.Agrif_Parent(ln_ice_embd))               &
+                              &  )) THEN
+               WHERE( ssmask(:,:) == 1._wp )
+                  ssh(:,:,Kmm) = ssh(:,:,Kmm) - Agrif_Parent(rsshadj)
+                  ssh(:,:,Kbb) = ssh(:,:,Kbb) - Agrif_Parent(rsshadj) 
+               ENDWHERE
+            ENDIF
+         ENDIF
+#endif
 #endif
          !
          ssh(:,:,Kmm) = ssh(:,:,Kbb)              !* set now values from to before ones
-- 
GitLab