From b7702bdbb0d0a704c2b4f7ba6e4d1092a8d4e2e4 Mon Sep 17 00:00:00 2001
From: Quentin Rodier <quentin.rodier@meteo.fr>
Date: Thu, 7 Jul 2022 13:55:13 +0200
Subject: [PATCH] Quentin 07/07/2022: Packing turb: get_halo

---
 src/common/aux/get_halo.F90 | 18 ++++++++++++++++++
 src/mesonh/aux/get_halo.f90 | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 51 insertions(+)

diff --git a/src/common/aux/get_halo.F90 b/src/common/aux/get_halo.F90
index 443d33f13..20996ed25 100644
--- a/src/common/aux/get_halo.F90
+++ b/src/common/aux/get_halo.F90
@@ -12,6 +12,14 @@
 !
 INTERFACE
 !
+SUBROUTINE GET_HALO_PHY(D,PSRC)
+USE MODD_DIMPHYEX, ONLY: DIMPHYEX_t
+!
+TYPE(DIMPHYEX_t),        INTENT(IN)   :: D
+REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN)  :: PSRC    ! variable at t
+!
+END SUBROUTINE GET_HALO_PHY
+!
 SUBROUTINE GET_HALO(PSRC)
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PSRC    ! variable at t
@@ -31,3 +39,13 @@ REAL, DIMENSION(:,:,:), INTENT(IN)  :: PSRC    ! variable at t
 !
 END SUBROUTINE GET_HALO
 !-----------------------------------------------------------------------
+!     #########################
+      SUBROUTINE GET_HALO_PHY(D,PSRC)
+!     #########################
+!
+USE MODD_DIMPHYEX, ONLY: DIMPHYEX_t
+!
+TYPE(DIMPHYEX_t),        INTENT(IN)   :: D
+REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN)  :: PSRC    ! variable at t
+!
+END SUBROUTINE GET_HALO_PHY
diff --git a/src/mesonh/aux/get_halo.f90 b/src/mesonh/aux/get_halo.f90
index b6da303a2..017870850 100644
--- a/src/mesonh/aux/get_halo.f90
+++ b/src/mesonh/aux/get_halo.f90
@@ -26,6 +26,14 @@ REAL, DIMENSION(:,:,:), INTENT(IN)  :: PSRC    ! variable at t
 !
 END SUBROUTINE GET_HALO
 !
+SUBROUTINE GET_HALO_PHY(D,PSRC)
+USE MODD_DIMPHYEX, ONLY: DIMPHYEX_t
+!
+TYPE(DIMPHYEX_t),        INTENT(IN)   :: D
+REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN)  :: PSRC    ! variable at t
+!
+END SUBROUTINE GET_HALO_PHY
+!
 SUBROUTINE DEL_HALO2_ll(TPHALO2LIST)
 !
 USE MODD_ARGSLIST_ll, ONLY : HALO2LIST_ll
@@ -92,6 +100,31 @@ CALL UPDATE_HALO_ll(TZ_PSRC_ll,IERROR)
 CALL CLEANLIST_ll(TZ_PSRC_ll)
 !
 END SUBROUTINE GET_HALO
+!-------------------------------------------------------------------------------
+!-------------------------------------------------------------------------------
+!     #########################
+      SUBROUTINE GET_HALO_PHY(D,PSRC)
+!     #########################
+!
+USE MODD_DIMPHYEX, ONLY: DIMPHYEX_t
+USE MODE_ll
+USE MODD_ARGSLIST_ll, ONLY : LIST_ll
+!
+IMPLICIT NONE
+!
+TYPE(DIMPHYEX_t),        INTENT(IN)   :: D
+REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN)  :: PSRC    ! variable at t
+!
+TYPE(LIST_ll)     , POINTER      :: TZ_PSRC_ll               ! halo
+INTEGER                          :: IERROR                 ! error return code 
+!
+NULLIFY( TZ_PSRC_ll)
+!
+CALL ADD2DFIELD_ll( TZ_PSRC_ll, PSRC, 'GET_HALO::PSRC' )
+CALL UPDATE_HALO_ll(TZ_PSRC_ll,IERROR)
+CALL CLEANLIST_ll(TZ_PSRC_ll)
+!
+END SUBROUTINE GET_HALO_PHY
 !-----------------------------------------------------------------------
 !
 !     ####################################
-- 
GitLab