diff --git a/src/common/aux/get_halo.F90 b/src/common/aux/get_halo.F90 index 443d33f13241e2a260c8c44e9368a58c57515ac9..20996ed2530c7eea3dee2549a2280d209accdad1 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 b6da303a25dd113a588a1e0799119ee4bd2948d5..017870850781133159920f00b67fe800fbf2677a 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 !----------------------------------------------------------------------- ! ! ####################################