From 73d6529684a417bc6d8bede0f1d98a2e26cbb354 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Tue, 25 Apr 2023 09:26:59 +0200
Subject: [PATCH] Juan (+Philippe) 25/04/2023: workaround Cray compiler problem
 with zero size arrays

---
 src/MNH/modeln.f90 | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index 56b9978d1..b68f05803 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -694,8 +694,8 @@ IF (KTCOUNT == 1) THEN
   IF (SIZE(XRTKES,1) /= 0) CALL ADD3DFIELD_ll( TFIELDS_ll, XRTKES, 'MODEL_n::XRTKES' )
   CALL ADD4DFIELD_ll( TFIELDS_ll, XRRS     (:,:,:,1:NRR), 'MODEL_n::XRRS' )
   CALL ADD4DFIELD_ll( TFIELDS_ll, XRRS_CLD (:,:,:,1:NRR), 'MODEL_n::XRRS_CLD' )
-  CALL ADD4DFIELD_ll( TFIELDS_ll, XRSVS    (:,:,:,1:NSV), 'MODEL_n::XRSVS')
-  CALL ADD4DFIELD_ll( TFIELDS_ll, XRSVS_CLD(:,:,:,1:NSV), 'MODEL_n::XRSVS_CLD')
+  IF ( NSV /= 0 ) CALL ADD4DFIELD_ll( TFIELDS_ll, XRSVS    (:,:,:,1:NSV), 'MODEL_n::XRSVS')
+  IF ( NSV /= 0 ) CALL ADD4DFIELD_ll( TFIELDS_ll, XRSVS_CLD(:,:,:,1:NSV), 'MODEL_n::XRSVS_CLD')
   IF (SIZE(XSRCT,1) /= 0) CALL ADD3DFIELD_ll( TFIELDS_ll, XSRCT, 'MODEL_n::XSRCT' )
   !
   IF ((LNUMDIFU .OR. LNUMDIFTH .OR. LNUMDIFSV) ) THEN
@@ -1985,7 +1985,7 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN
 !$acc kernels
   XRTHS_CLD(:, :, : )    = XRTHS(:, :, : )
   XRRS_CLD (:, :, :, : ) = XRRS(:, :, :, : )
-  XRSVS_CLD(:, :, :, : ) = XRSVS(:, :, :, : )
+  IF ( NSV /= 0 ) XRSVS_CLD(:, :, :, : ) = XRSVS(:, :, :, : )
 !$acc end kernels
 
 !$acc data present( XRHODJ, XRHODREF, XEXNREF, XRTHS, XRRS, XRSVS, ZPABST, XTHT )                &
@@ -2062,7 +2062,7 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN
 !$acc kernels
   XRTHS_CLD(:, :, : )    = XRTHS(:, :, : )    - XRTHS_CLD(:, :, : )
   XRRS_CLD (:, :, :, : ) = XRRS (:, :, :, : ) - XRRS_CLD (:, :, :, : )
-  XRSVS_CLD(:, :, :, : ) = XRSVS(:, :, :, : ) - XRSVS_CLD(:, :, :, : )
+  IF ( NSV /= 0 ) XRSVS_CLD(:, :, :, : ) = XRSVS(:, :, :, : ) - XRSVS_CLD(:, :, :, : )
 !$acc end kernels
 !
 !$acc update host( XRTHS, XRRS, XRSVS, XRTHS_CLD, XRRS_CLD, XRSVS_CLD )
-- 
GitLab