diff --git a/src/ICE/iceistate.F90 b/src/ICE/iceistate.F90 index c1fb86e0910e438bb70a83d8b08f51447904edfe..97c783148d78866bec1bf7f9aa9e240e91d1ed7a 100644 --- a/src/ICE/iceistate.F90 +++ b/src/ICE/iceistate.F90 @@ -436,11 +436,7 @@ CONTAINS ! Override ssh adjustment in nested domains by the root-domain ssh adjustment; ! store the adjustment value in a global module variable to make it retrievable in nested domains IF( .NOT.Agrif_Root() ) THEN - IF (.NOT.ln_init_chfrpar ) THEN ! child is not initialized from the parent - zsshadj = Agrif_Parent(rsshadj) - ELSE ! child is initialized from the parent - zsshadj = 0._wp ! => 0 since ssh adjustement is already done - ENDIF + zsshadj = Agrif_Parent(rsshadj) ELSE rsshadj = zsshadj ENDIF @@ -463,10 +459,10 @@ CONTAINS #else DO jk = 1, jpk DO_2D( nn_hls, nn_hls, nn_hls, nn_hls) - IF( snwice_mass(ji,jj) /= 0._wp ) THEN +! IF( snwice_mass(ji,jj) /= 0._wp ) THEN e3t(ji,jj,jk,Kmm) = e3t_0(ji,jj,jk) * ( 1._wp + ssh(ji,jj,Kmm) * r1_ht_0(ji,jj) * tmask(ji,jj,jk) ) e3t(ji,jj,jk,Kbb) = e3t_0(ji,jj,jk) * ( 1._wp + ssh(ji,jj,Kbb) * r1_ht_0(ji,jj) * tmask(ji,jj,jk) ) - ENDIF +! ENDIF END_2D END DO ! diff --git a/src/NST/agrif_oce_interp.F90 b/src/NST/agrif_oce_interp.F90 index 7d25ea55436f84ebe8c2b190d28aca05d0f0d259..326ecbbd0311ad5dbab077b332fbc929f6a7171f 100644 --- a/src/NST/agrif_oce_interp.F90 +++ b/src/NST/agrif_oce_interp.F90 @@ -34,7 +34,11 @@ MODULE agrif_oce_interp USE lib_mpp USE vremap USE lbclnk - +#if defined key_si3 + USE iceistate, ONLY: rsshadj, nn_iceini_file + USE sbc_oce , ONLY: ln_ice_embd + USE sbc_ice , ONLY: snwice_mass +#endif IMPLICIT NONE PRIVATE @@ -1108,7 +1112,21 @@ CONTAINS !!---------------------------------------------------------------------- ! IF( before) THEN +#if defined key_si3 + IF (l_ini_child.AND.(.NOT.(ln_rstart .OR. nn_iceini_file == 2))) THEN + IF( ln_ice_embd ) THEN + ptab(i1:i2,j1:j2) = ssh(i1:i2,j1:j2,Kmm_a) & + & + snwice_mass(i1:i2,j1:j2) * r1_rho0 + ELSE + ptab(i1:i2,j1:j2) = ssh(i1:i2,j1:j2,Kmm_a) & + & + rsshadj * tmask(i1:i2,j1:j2,1) + ENDIF + ELSE + ptab(i1:i2,j1:j2) = ssh(i1:i2,j1:j2,Kmm_a) + ENDIF +#else ptab(i1:i2,j1:j2) = ssh(i1:i2,j1:j2,Kmm_a) +#endif ELSE IF( l_ini_child ) THEN ssh(i1:i2,j1:j2,Krhs_a) = ptab(i1:i2,j1:j2) * tmask(i1:i2,j1:j2,1) diff --git a/src/OCE/SBC/sbcdcy.F90 b/src/OCE/SBC/sbcdcy.F90 index 26c44de74c6a109bcb2c20449585985468ab6433..a6ccd03321f0f73ef86af9e943cbcfbf03513ab4 100644 --- a/src/OCE/SBC/sbcdcy.F90 +++ b/src/OCE/SBC/sbcdcy.F90 @@ -151,8 +151,8 @@ CONTAINS ENDIF END_2D ! - IF( PRESENT(l_mask) .AND. l_mask ) THEN - zqsrout(:,:) = float(imask_night(:,:)) + IF( PRESENT(l_mask) ) THEN + IF ( l_mask ) zqsrout(:,:) = float(imask_night(:,:)) ENDIF ! END FUNCTION sbc_dcy diff --git a/src/OCE/TRA/zpshde.F90 b/src/OCE/TRA/zpshde.F90 index 2b786d65e30aee97c385ab35e5f84951a51eb130..0591067f9e804265264b6aae3adb49d98dbfa6eb 100644 --- a/src/OCE/TRA/zpshde.F90 +++ b/src/OCE/TRA/zpshde.F90 @@ -164,7 +164,7 @@ CONTAINS END_2D END DO ! - IF (nn_hls==1) CALL lbc_lnk( 'zpshde', pgtu(:,:,:), 'U', -1.0_wp , pgtv(:,:,:), 'V', -1.0_wp ) ! Lateral boundary cond. + IF (nn_hls==1) CALL lbc_lnk( 'zpshde', pgtu, 'U', -1.0_wp , pgtv, 'V', -1.0_wp ) ! Lateral boundary cond. ! IF( PRESENT( prd ) ) THEN !== horizontal derivative of density anomalies (rd) ==! (optional part) pgru(:,:) = 0._wp @@ -343,7 +343,7 @@ CONTAINS END_2D END DO ! - IF (nn_hls==1) CALL lbc_lnk( 'zpshde', pgtu(:,:,:), 'U', -1.0_wp , pgtv(:,:,:), 'V', -1.0_wp ) ! Lateral boundary cond. + IF (nn_hls==1) CALL lbc_lnk( 'zpshde', pgtu, 'U', -1.0_wp , pgtv, 'V', -1.0_wp ) ! Lateral boundary cond. ! horizontal derivative of density anomalies (rd) IF( PRESENT( prd ) ) THEN ! depth of the partial step level @@ -436,7 +436,7 @@ CONTAINS END_2D ! END DO - IF (nn_hls==1) CALL lbc_lnk( 'zpshde', pgtui(:,:,:), 'U', -1.0_wp , pgtvi(:,:,:), 'V', -1.0_wp ) ! Lateral boundary cond. + IF (nn_hls==1) CALL lbc_lnk( 'zpshde', pgtui, 'U', -1.0_wp , pgtvi, 'V', -1.0_wp ) ! Lateral boundary cond. IF( PRESENT( prd ) ) THEN !== horizontal derivative of density anomalies (rd) ==! (optional part) !