From 23b782c601e536faec505de09278e6e0fa54ecd8 Mon Sep 17 00:00:00 2001
From: Juan Escobar <escj@aero.obs-mip.fr>
Date: Mon, 5 Mar 2018 18:36:21 +0100
Subject: [PATCH]  Juan 05/03/2018 : bypass gridnesting special case
 KD(X/Y)RATIO == 1 not parallelized

---
 src/MNH/spawn_field2.f90     | 171 ++++++++++++++++++-----------------
 src/MNH/spawn_grid2.f90      |  27 +++---
 src/MNH/spawn_pressure2.f90  |  17 ++--
 src/MNH/spawn_surf2_rain.f90 |  83 ++++++++---------
 4 files changed, 151 insertions(+), 147 deletions(-)

diff --git a/src/MNH/spawn_field2.f90 b/src/MNH/spawn_field2.f90
index 45617fb5f..2fcc04982 100644
--- a/src/MNH/spawn_field2.f90
+++ b/src/MNH/spawn_field2.f90
@@ -146,6 +146,7 @@ END MODULE MODI_SPAWN_FIELD2
 !!      Modification 15/04/2016 (P.Tulet) bug allocation ZSVT_C
 !!                   29/04/2016 (J.Escobar) bug in use of ZSVT_C in SET_LSFIELD_1WAY_ll        
 !!      Modification    01/2016  (JP Pinty) Add LIMA
+!!      Modification 05/03/2018 (J.Escobar) bypass gridnesting special case KD(X/Y)RATIO == 1 not parallelized
 !-------------------------------------------------------------------------------
 !
 !*       0.     DECLARATIONS
@@ -317,90 +318,90 @@ END IF
 !              ---------------------------------------------------------
 ! 
 !
-IF (KDXRATIO == 1 .AND. KDYRATIO == 1 ) THEN
-!
-!*       2.1   special case of spawning - no change of resolution :
-!
-!*       2.1.1  variables which always exist
-!
-  PUT  (:,:,:)   =  FIELD_MODEL(1)%XUT  (KXOR:KXEND,KYOR:KYEND,:)
-  PVT  (:,:,:)   =  FIELD_MODEL(1)%XVT  (KXOR:KXEND,KYOR:KYEND,:)
-  PWT  (:,:,:)   =  FIELD_MODEL(1)%XWT  (KXOR:KXEND,KYOR:KYEND,:)
-  PTHVT(:,:,:)   =  ZTHVT(KXOR:KXEND,KYOR:KYEND,:)
-!
-  PLSUM (:,:,:)  =  FIELD_MODEL(1)%XUT (KXOR:KXEND,KYOR:KYEND,:)
-  PLSVM (:,:,:)  =  FIELD_MODEL(1)%XVT (KXOR:KXEND,KYOR:KYEND,:)
-  PLSWM (:,:,:)  =  FIELD_MODEL(1)%XWT (KXOR:KXEND,KYOR:KYEND,:)
-  PLSTHM(:,:,:)  =  FIELD_MODEL(1)%XTHT(KXOR:KXEND,KYOR:KYEND,:)
-!
-  PLSRVM(:,:,:)  = 0.
-!
-!$20140707
-CALL MPPDB_CHECK3D(PUT,"SPAWN_FIELD2:PUT",PRECISION)
-CALL MPPDB_CHECK3D(PVT,"SPAWN_FIELD2:PVT",PRECISION)
-!$
-!*       2.1.2  TKE variable
-!
-  IF (HTURB /= 'NONE') THEN
-    PTKET(:,:,:)   =  FIELD_MODEL(1)%XTKET(KXOR:KXEND,KYOR:KYEND,:)
-  ENDIF
-!
-!*       2.1.3  moist variables
-!
-  IF (CONF_MODEL(1)%NRR /= 0) THEN
-    PRT  (:,:,:,:) =  FIELD_MODEL(1)%XRT  (KXOR:KXEND,KYOR:KYEND,:,:)
-    PLSRVM(:,:,:)  =  FIELD_MODEL(1)%XRT  (KXOR:KXEND,KYOR:KYEND,:,1)
-    PHUT (:,:,:)   =  ZHUT (KXOR:KXEND,KYOR:KYEND,:)
-  ENDIF
-!
-!*       2.1.4  scalar variables
-!
-  IF (NSV /= 0) THEN
-    PSVT (:,:,:,:) =  FIELD_MODEL(1)%XSVT (KXOR:KXEND,KYOR:KYEND,:,:)
-  ENDIF
-!
-!*       2.1.5  secondary prognostic variables
-!
-  IF (CONF_MODEL(1)%NRR > 1) THEN
-    PSRCT (:,:,:) =  FIELD_MODEL(1)%XSRCT (KXOR:KXEND,KYOR:KYEND,:)
-    PSIGS(:,:,:) =  FIELD_MODEL(1)%XSIGS(KXOR:KXEND,KYOR:KYEND,:)
-  ENDIF
-!
-!*       2.1.6  Large scale variables
-!
-  PLSUM  (:,:,:)   =  LSFIELD_MODEL(1)%XLSUM  (KXOR:KXEND,KYOR:KYEND,:)
-  PLSVM  (:,:,:)   =  LSFIELD_MODEL(1)%XLSVM  (KXOR:KXEND,KYOR:KYEND,:)
-  PLSWM  (:,:,:)   =  LSFIELD_MODEL(1)%XLSWM  (KXOR:KXEND,KYOR:KYEND,:)
-  PLSTHM(:,:,:)    =  LSFIELD_MODEL(1)%XLSTHM (KXOR:KXEND,KYOR:KYEND,:)
-  IF ( CONF_MODEL(1)%NRR > 0 ) THEN
-    PLSRVM  (:,:,:)   =  LSFIELD_MODEL(1)%XLSRVM  (KXOR:KXEND,KYOR:KYEND,:) 
-  END IF
-!
-!*       2.1.7  Advective forcing fields for 2D (Modif MT)
-!
-  IF (L2D_ADV_FRC) THEN
-    PDTHFRC(:,:,:,:)= ADVFRC_MODEL(1)%XDTHFRC (KXOR:KXEND,KYOR:KYEND,:,:)
-    PDRVFRC(:,:,:,:)= ADVFRC_MODEL(1)%XDRVFRC (KXOR:KXEND,KYOR:KYEND,:,:)
-  ENDIF
-  IF (L2D_REL_FRC) THEN
-    PTHREL(:,:,:,:)= RELFRC_MODEL(1)%XTHREL (KXOR:KXEND,KYOR:KYEND,:,:)
-    PRVREL(:,:,:,:)= RELFRC_MODEL(1)%XRVREL (KXOR:KXEND,KYOR:KYEND,:,:)
-  ENDIF
-!
-!*       2.1.8  Turbulent fluxes for 2D (Modif MT)                                    
-!
-  IF (LUV_FLX) THEN
-    PVU_FLUX_M(:,:,:)= EDDYUV_FLUX_MODEL(1)%XVU_FLUX_M (KXOR:KXEND,KYOR:KYEND,:)
-  END IF
-!
-  IF (LTH_FLX) THEN
-    PVTH_FLUX_M(:,:,:)= EDDY_FLUX_MODEL(1)%XVTH_FLUX_M (KXOR:KXEND,KYOR:KYEND,:)
-    PWTH_FLUX_M(:,:,:)= EDDY_FLUX_MODEL(1)%XWTH_FLUX_M (KXOR:KXEND,KYOR:KYEND,:)
-  END IF
-!
-!-------------------------------------------------------------------------------
-!
-ELSE
+!!$IF (KDXRATIO == 1 .AND. KDYRATIO == 1 ) THEN
+!!$!
+!!$!*       2.1   special case of spawning - no change of resolution :
+!!$!
+!!$!*       2.1.1  variables which always exist
+!!$!
+!!$  PUT  (:,:,:)   =  FIELD_MODEL(1)%XUT  (KXOR:KXEND,KYOR:KYEND,:)
+!!$  PVT  (:,:,:)   =  FIELD_MODEL(1)%XVT  (KXOR:KXEND,KYOR:KYEND,:)
+!!$  PWT  (:,:,:)   =  FIELD_MODEL(1)%XWT  (KXOR:KXEND,KYOR:KYEND,:)
+!!$  PTHVT(:,:,:)   =  ZTHVT(KXOR:KXEND,KYOR:KYEND,:)
+!!$!
+!!$  PLSUM (:,:,:)  =  FIELD_MODEL(1)%XUT (KXOR:KXEND,KYOR:KYEND,:)
+!!$  PLSVM (:,:,:)  =  FIELD_MODEL(1)%XVT (KXOR:KXEND,KYOR:KYEND,:)
+!!$  PLSWM (:,:,:)  =  FIELD_MODEL(1)%XWT (KXOR:KXEND,KYOR:KYEND,:)
+!!$  PLSTHM(:,:,:)  =  FIELD_MODEL(1)%XTHT(KXOR:KXEND,KYOR:KYEND,:)
+!!$!
+!!$  PLSRVM(:,:,:)  = 0.
+!!$!
+!!$!$20140707
+!!$CALL MPPDB_CHECK3D(PUT,"SPAWN_FIELD2:PUT",PRECISION)
+!!$CALL MPPDB_CHECK3D(PVT,"SPAWN_FIELD2:PVT",PRECISION)
+!!$!$
+!!$!*       2.1.2  TKE variable
+!!$!
+!!$  IF (HTURB /= 'NONE') THEN
+!!$    PTKET(:,:,:)   =  FIELD_MODEL(1)%XTKET(KXOR:KXEND,KYOR:KYEND,:)
+!!$  ENDIF
+!!$!
+!!$!*       2.1.3  moist variables
+!!$!
+!!$  IF (CONF_MODEL(1)%NRR /= 0) THEN
+!!$    PRT  (:,:,:,:) =  FIELD_MODEL(1)%XRT  (KXOR:KXEND,KYOR:KYEND,:,:)
+!!$    PLSRVM(:,:,:)  =  FIELD_MODEL(1)%XRT  (KXOR:KXEND,KYOR:KYEND,:,1)
+!!$    PHUT (:,:,:)   =  ZHUT (KXOR:KXEND,KYOR:KYEND,:)
+!!$  ENDIF
+!!$!
+!!$!*       2.1.4  scalar variables
+!!$!
+!!$  IF (NSV /= 0) THEN
+!!$    PSVT (:,:,:,:) =  FIELD_MODEL(1)%XSVT (KXOR:KXEND,KYOR:KYEND,:,:)
+!!$  ENDIF
+!!$!
+!!$!*       2.1.5  secondary prognostic variables
+!!$!
+!!$  IF (CONF_MODEL(1)%NRR > 1) THEN
+!!$    PSRCT (:,:,:) =  FIELD_MODEL(1)%XSRCT (KXOR:KXEND,KYOR:KYEND,:)
+!!$    PSIGS(:,:,:) =  FIELD_MODEL(1)%XSIGS(KXOR:KXEND,KYOR:KYEND,:)
+!!$  ENDIF
+!!$!
+!!$!*       2.1.6  Large scale variables
+!!$!
+!!$  PLSUM  (:,:,:)   =  LSFIELD_MODEL(1)%XLSUM  (KXOR:KXEND,KYOR:KYEND,:)
+!!$  PLSVM  (:,:,:)   =  LSFIELD_MODEL(1)%XLSVM  (KXOR:KXEND,KYOR:KYEND,:)
+!!$  PLSWM  (:,:,:)   =  LSFIELD_MODEL(1)%XLSWM  (KXOR:KXEND,KYOR:KYEND,:)
+!!$  PLSTHM(:,:,:)    =  LSFIELD_MODEL(1)%XLSTHM (KXOR:KXEND,KYOR:KYEND,:)
+!!$  IF ( CONF_MODEL(1)%NRR > 0 ) THEN
+!!$    PLSRVM  (:,:,:)   =  LSFIELD_MODEL(1)%XLSRVM  (KXOR:KXEND,KYOR:KYEND,:) 
+!!$  END IF
+!!$!
+!!$!*       2.1.7  Advective forcing fields for 2D (Modif MT)
+!!$!
+!!$  IF (L2D_ADV_FRC) THEN
+!!$    PDTHFRC(:,:,:,:)= ADVFRC_MODEL(1)%XDTHFRC (KXOR:KXEND,KYOR:KYEND,:,:)
+!!$    PDRVFRC(:,:,:,:)= ADVFRC_MODEL(1)%XDRVFRC (KXOR:KXEND,KYOR:KYEND,:,:)
+!!$  ENDIF
+!!$  IF (L2D_REL_FRC) THEN
+!!$    PTHREL(:,:,:,:)= RELFRC_MODEL(1)%XTHREL (KXOR:KXEND,KYOR:KYEND,:,:)
+!!$    PRVREL(:,:,:,:)= RELFRC_MODEL(1)%XRVREL (KXOR:KXEND,KYOR:KYEND,:,:)
+!!$  ENDIF
+!!$!
+!!$!*       2.1.8  Turbulent fluxes for 2D (Modif MT)                                    
+!!$!
+!!$  IF (LUV_FLX) THEN
+!!$    PVU_FLUX_M(:,:,:)= EDDYUV_FLUX_MODEL(1)%XVU_FLUX_M (KXOR:KXEND,KYOR:KYEND,:)
+!!$  END IF
+!!$!
+!!$  IF (LTH_FLX) THEN
+!!$    PVTH_FLUX_M(:,:,:)= EDDY_FLUX_MODEL(1)%XVTH_FLUX_M (KXOR:KXEND,KYOR:KYEND,:)
+!!$    PWTH_FLUX_M(:,:,:)= EDDY_FLUX_MODEL(1)%XWTH_FLUX_M (KXOR:KXEND,KYOR:KYEND,:)
+!!$  END IF
+!!$!
+!!$!-------------------------------------------------------------------------------
+!!$!
+!!$ELSE
 !
 !-------------------------------------------------------------------------------
 !
@@ -714,7 +715,7 @@ ELSE
       CALL MPPDB_CHECK3D(PWTH_FLUX_M,"SPAWN_FIELD2:PWTH_FLUX_M",PRECISION)
     ENDIF
 !
-END IF
+!!$END IF
 !
 IF (CONF_MODEL(1)%NRR>=3) THEN
   WHERE  (PRT(:,:,:,3)<1.E-20)
diff --git a/src/MNH/spawn_grid2.f90 b/src/MNH/spawn_grid2.f90
index 3fa646362..5bfe7612e 100644
--- a/src/MNH/spawn_grid2.f90
+++ b/src/MNH/spawn_grid2.f90
@@ -150,6 +150,7 @@ END MODULE MODI_SPAWN_GRID2
 !!      Modification 24/02/15 (M.Moge) parallelization
 !!      Modification 10/06/15 (M.Moge) bug fix for reproductibility
 !!      J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1 
+!!      J.Escobar 05/03/2018 : bypass gridnesting special case KD(X/Y)RATIO == 1 not parallelized
 !-------------------------------------------------------------------------------
 !
 !*       0.     DECLARATIONS
@@ -314,18 +315,18 @@ OSLEVE   = GRID_MODEL(1)%LSLEVE
 PLEN1    = GRID_MODEL(1)%XLEN1
 PLEN2    = GRID_MODEL(1)%XLEN2
 !
-IF (KDXRATIO == 1 .AND. KDYRATIO == 1 ) THEN
-!
-!*       2.1   special case of spawning - no change of resolution :
-!$ in our case we don't get them here !
-  PXHAT(:) = GRID_MODEL(1)%XXHAT(KXOR:KXEND)
-  PYHAT(:) = GRID_MODEL(1)%XYHAT(KYOR:KYEND)
-  PZS  (:,:) = GRID_MODEL(1)%XZS  (KXOR:KXEND,KYOR:KYEND)
-  PZS_LS(:,:)= GRID_MODEL(1)%XZS  (KXOR:KXEND,KYOR:KYEND)
-  PZSMT   (:,:) = GRID_MODEL(1)%XZSMT(KXOR:KXEND,KYOR:KYEND)
-  PZSMT_LS(:,:) = GRID_MODEL(1)%XZSMT(KXOR:KXEND,KYOR:KYEND)
-!
-ELSE
+!!$IF (KDXRATIO == 1 .AND. KDYRATIO == 1 ) THEN
+!!$!
+!!$!*       2.1   special case of spawning - no change of resolution :
+!!$!$ in our case we don't get them here !
+!!$  PXHAT(:) = GRID_MODEL(1)%XXHAT(KXOR:KXEND)
+!!$  PYHAT(:) = GRID_MODEL(1)%XYHAT(KYOR:KYEND)
+!!$  PZS  (:,:) = GRID_MODEL(1)%XZS  (KXOR:KXEND,KYOR:KYEND)
+!!$  PZS_LS(:,:)= GRID_MODEL(1)%XZS  (KXOR:KXEND,KYOR:KYEND)
+!!$  PZSMT   (:,:) = GRID_MODEL(1)%XZSMT(KXOR:KXEND,KYOR:KYEND)
+!!$  PZSMT_LS(:,:) = GRID_MODEL(1)%XZSMT(KXOR:KXEND,KYOR:KYEND)
+!!$!
+!!$ELSE
 !
 !*       2.2  general case - change of resolution :
 !
@@ -491,7 +492,7 @@ ELSE
 !
 !*       2.2.2  interpolation of ZS performed later
 !
-END IF
+!!$END IF
 !
 PLONOR = XLONORI
 PLATOR = XLATORI
diff --git a/src/MNH/spawn_pressure2.f90 b/src/MNH/spawn_pressure2.f90
index afc88db33..d0e7fb042 100644
--- a/src/MNH/spawn_pressure2.f90
+++ b/src/MNH/spawn_pressure2.f90
@@ -106,6 +106,7 @@ END MODULE MODI_SPAWN_PRESSURE2
 !!      Modification 20/05/06 Remove Clark and Farley interpolation
 !!                  2014     (M.Faivre) parallelization
 !!                  10/02/15 (M.Moge) correction of M.Faivre's parallelization attempt
+!!                  05/03/2018 (J.Escobar) bypass gridnesting special case KD(X/Y)RATIO == 1 not parallelized
 !-------------------------------------------------------------------------------
 !
 !*       0.     DECLARATIONS
@@ -209,14 +210,14 @@ IKE=IKU-JPVEXT
 !              -----------------------
 !
 !
-IF (KDXRATIO == 1 .AND. KDYRATIO == 1 ) THEN
-!
-  PPABST  (:,:,:)   =  FIELD_MODEL(1)%XPABST  (KXOR:KXEND,KYOR:KYEND,:)
-!
-  CALL GOTO_MODEL(IMI) 
-  RETURN
-!
-END IF
+!!$IF (KDXRATIO == 1 .AND. KDYRATIO == 1 ) THEN
+!!$!
+!!$  PPABST  (:,:,:)   =  FIELD_MODEL(1)%XPABST  (KXOR:KXEND,KYOR:KYEND,:)
+!!$!
+!!$  CALL GOTO_MODEL(IMI) 
+!!$  RETURN
+!!$!
+!!$END IF
 !
 !-------------------------------------------------------------------------------
 !
diff --git a/src/MNH/spawn_surf2_rain.f90 b/src/MNH/spawn_surf2_rain.f90
index 90f2a47c7..694d19ed0 100644
--- a/src/MNH/spawn_surf2_rain.f90
+++ b/src/MNH/spawn_surf2_rain.f90
@@ -111,6 +111,7 @@ END MODULE MODI_SPAWN_SURF2_RAIN
 !!      Modification    2014 (M.Faivre)
 !!      J.Escobar 2/05/2016 : bug in use of global/local bounds for call of BIKHARDT
 !!      C.Lac 10/2016 : Add droplet deposition for fog
+!!      J.Escobar 05/03/2018 : bypass gridnesting special case KD(X/Y)RATIO == 1 not parallelized
 !!-------------------------------------------------------------------------------
 !
 !*       0.     DECLARATIONS
@@ -198,46 +199,46 @@ YMETHOD='BI'
 !*       3.    INITIALIZATION OF THE SURFACE VARIABLES OF MODEL 2:
 !              --------------------------------------------------
 !
-IF (KDXRATIO == 1 .AND. KDYRATIO == 1 ) THEN
-!
-!*       3.1   special case of spawning - no change of resolution :
-!
-  IF (SIZE(PRECIP_MODEL(1)%XINPRC) /= 0 ) THEN
-    PINPRC(:,:) = PRECIP_MODEL(1)%XINPRC(KXOR:KXEND,KYOR:KYEND)
-    PACPRC(:,:) = PRECIP_MODEL(1)%XACPRC(KXOR:KXEND,KYOR:KYEND)
-  END IF
-!
-  IF (SIZE(PRECIP_MODEL(1)%XINDEP) /= 0 ) THEN
-    PINDEP(:,:) = PRECIP_MODEL(1)%XINDEP(KXOR:KXEND,KYOR:KYEND)
-    PACDEP(:,:) = PRECIP_MODEL(1)%XACDEP(KXOR:KXEND,KYOR:KYEND)
-  END IF
-!
-  IF (SIZE(PRECIP_MODEL(1)%XINPRR) /= 0 ) THEN
-    PINPRR(:,:) = PRECIP_MODEL(1)%XINPRR(KXOR:KXEND,KYOR:KYEND)
-    PINPRR3D(:,:,:) = PRECIP_MODEL(1)%XINPRR3D(KXOR:KXEND,KYOR:KYEND,:)
-    PEVAP3D(:,:,:) = PRECIP_MODEL(1)%XEVAP3D(KXOR:KXEND,KYOR:KYEND,:)
-    PACPRR(:,:) = PRECIP_MODEL(1)%XACPRR(KXOR:KXEND,KYOR:KYEND)
-  END IF
-!
-  IF (SIZE(PRECIP_MODEL(1)%XINPRS) /= 0 ) THEN
-    PINPRS(:,:) = PRECIP_MODEL(1)%XINPRS(KXOR:KXEND,KYOR:KYEND)
-    PACPRS(:,:) = PRECIP_MODEL(1)%XACPRS(KXOR:KXEND,KYOR:KYEND)
-  END IF
-!
-  IF (SIZE(PRECIP_MODEL(1)%XINPRG) /= 0 ) THEN
-    PINPRG(:,:) = PRECIP_MODEL(1)%XINPRG(KXOR:KXEND,KYOR:KYEND)
-    PACPRG(:,:) = PRECIP_MODEL(1)%XACPRG(KXOR:KXEND,KYOR:KYEND)
-  END IF
-!
-  IF (SIZE(PRECIP_MODEL(1)%XINPRH) /= 0 ) THEN
-    PINPRH(:,:) = PRECIP_MODEL(1)%XINPRH(KXOR:KXEND,KYOR:KYEND)
-    PACPRH(:,:) = PRECIP_MODEL(1)%XACPRH(KXOR:KXEND,KYOR:KYEND)
-  END IF
-!
-!
-!-------------------------------------------------------------------------------
-!
-ELSE
+!!$IF (KDXRATIO == 1 .AND. KDYRATIO == 1 ) THEN
+!!$!
+!!$!*       3.1   special case of spawning - no change of resolution :
+!!$!
+!!$  IF (SIZE(PRECIP_MODEL(1)%XINPRC) /= 0 ) THEN
+!!$    PINPRC(:,:) = PRECIP_MODEL(1)%XINPRC(KXOR:KXEND,KYOR:KYEND)
+!!$    PACPRC(:,:) = PRECIP_MODEL(1)%XACPRC(KXOR:KXEND,KYOR:KYEND)
+!!$  END IF
+!!$!
+!!$  IF (SIZE(PRECIP_MODEL(1)%XINDEP) /= 0 ) THEN
+!!$    PINDEP(:,:) = PRECIP_MODEL(1)%XINDEP(KXOR:KXEND,KYOR:KYEND)
+!!$    PACDEP(:,:) = PRECIP_MODEL(1)%XACDEP(KXOR:KXEND,KYOR:KYEND)
+!!$  END IF
+!!$!
+!!$  IF (SIZE(PRECIP_MODEL(1)%XINPRR) /= 0 ) THEN
+!!$    PINPRR(:,:) = PRECIP_MODEL(1)%XINPRR(KXOR:KXEND,KYOR:KYEND)
+!!$    PINPRR3D(:,:,:) = PRECIP_MODEL(1)%XINPRR3D(KXOR:KXEND,KYOR:KYEND,:)
+!!$    PEVAP3D(:,:,:) = PRECIP_MODEL(1)%XEVAP3D(KXOR:KXEND,KYOR:KYEND,:)
+!!$    PACPRR(:,:) = PRECIP_MODEL(1)%XACPRR(KXOR:KXEND,KYOR:KYEND)
+!!$  END IF
+!!$!
+!!$  IF (SIZE(PRECIP_MODEL(1)%XINPRS) /= 0 ) THEN
+!!$    PINPRS(:,:) = PRECIP_MODEL(1)%XINPRS(KXOR:KXEND,KYOR:KYEND)
+!!$    PACPRS(:,:) = PRECIP_MODEL(1)%XACPRS(KXOR:KXEND,KYOR:KYEND)
+!!$  END IF
+!!$!
+!!$  IF (SIZE(PRECIP_MODEL(1)%XINPRG) /= 0 ) THEN
+!!$    PINPRG(:,:) = PRECIP_MODEL(1)%XINPRG(KXOR:KXEND,KYOR:KYEND)
+!!$    PACPRG(:,:) = PRECIP_MODEL(1)%XACPRG(KXOR:KXEND,KYOR:KYEND)
+!!$  END IF
+!!$!
+!!$  IF (SIZE(PRECIP_MODEL(1)%XINPRH) /= 0 ) THEN
+!!$    PINPRH(:,:) = PRECIP_MODEL(1)%XINPRH(KXOR:KXEND,KYOR:KYEND)
+!!$    PACPRH(:,:) = PRECIP_MODEL(1)%XACPRH(KXOR:KXEND,KYOR:KYEND)
+!!$  END IF
+!!$!
+!!$!
+!!$!-------------------------------------------------------------------------------
+!!$!
+!!$ELSE
 !
 !*       3.2  general case - change of resolution :
 !             -----------------------------------
@@ -351,7 +352,7 @@ ELSE
 !
 !-------------------------------------------------------------------------------
 !
-END IF
+!!$END IF
 !
 !*       3.3  Informations from model SON1
 !             ----------------------------
-- 
GitLab