diff --git a/tests/ICE_AGRIF/MY_SRC/usrdef_nam.F90 b/tests/ICE_AGRIF/MY_SRC/usrdef_nam.F90 index fc823025121609ad65e62e33bcde53643dc34d5c..43e6b82d2d440798ee6edec45bd9de06c08fb39b 100644 --- a/tests/ICE_AGRIF/MY_SRC/usrdef_nam.F90 +++ b/tests/ICE_AGRIF/MY_SRC/usrdef_nam.F90 @@ -59,6 +59,7 @@ CONTAINS CHARACTER(len=1), INTENT(out) :: cdNFtype ! Folding type: T or F ! INTEGER :: ios ! Local integer + INTEGER :: ighost_n, ighost_s, ighost_w, ighost_e REAL(wp):: zlx, zly ! Local scalars !! NAMELIST/namusr_def/ rn_dx, rn_dy, ln_corio, rn_ppgphi0 @@ -67,8 +68,6 @@ CONTAINS READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) ! - IF(lwm) WRITE( numond, namusr_def ) - ! #if defined key_agrif ! Domain parameters are taken from parent: IF( .NOT. Agrif_Root() ) THEN @@ -87,18 +86,28 @@ CONTAINS kpi = NINT( 300.e3 / rn_dx ) - 3 kpj = NINT( 300.e3 / rn_dy ) - 3 ELSE ! Global Domain size: add nbghostcells + 1 "land" point on each side - kpi = nbcellsx + 2 * nbghostcells - kpj = nbcellsy + 2 * nbghostcells -!! JC: number of ghosts unknown at this tage -!!$ kpi = nbcellsx + nbghostcells_x_w + nbghostcells_x_e + 2 -!!$ kpj = nbcellsy + nbghostcells_y_s + nbghostcells_y_n + 2 + ! At this stage, child ghosts have not been set + ighost_w = nbghostcells + ighost_e = nbghostcells + ighost_s = nbghostcells + ighost_n = nbghostcells + + ! In case one sets zoom boundaries over domain edges: + IF ( Agrif_Ix() == 2 - Agrif_Parent(nbghostcells_x_w) ) ighost_w = 1 + IF ( Agrif_Ix() + nbcellsx/AGRIF_Irhox() == Agrif_Parent(Ni0glo) - Agrif_Parent(nbghostcells_x_w) ) ighost_e = 1 + IF ( Agrif_Iy() == 2 - Agrif_Parent(nbghostcells_y_s) ) ighost_s = 1 + IF ( Agrif_Iy() + nbcellsy/AGRIF_Irhoy() == Agrif_Parent(Nj0glo) - Agrif_Parent(nbghostcells_y_s) ) ighost_n = 1 +! kpi = nbcellsx + 2 * ( nbghostcells + 1 ) +! kpj = nbcellsy + 2 * ( nbghostcells + 1 ) + kpi = nbcellsx + ighost_w + ighost_e + kpj = nbcellsy + ighost_s + ighost_n ENDIF kpk = 2 ! -!! zlx = (kpi-2)*rn_dx*1.e-3 -!! zly = (kpj-2)*rn_dy*1.e-3 - zlx = kpi*rn_dx*1.e-3 - zly = kpj*rn_dy*1.e-3 + zlx = (kpi-2)*rn_dx*1.e-3 + zly = (kpj-2)*rn_dy*1.e-3 +!! zlx = kpi*rn_dx*1.e-3 +!! zly = kpj*rn_dy*1.e-3 ! IF( Agrif_Root() ) THEN ; ldIperio = .TRUE. ; ldJperio = .TRUE. ! ICE_AGRIF configuration : bi-periodic basin ELSE ; ldIperio = .FALSE. ; ldJperio = .FALSE. ! closed periodicity for the zoom