From e1d42556df837cc2fbcc5a119b3dd55aa17df76c Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Tue, 7 Feb 2023 09:29:17 +0100
Subject: [PATCH] Philippe 06/02/2023: WRITE_SURFX2_MNH: treat 2D case
 separately

---
 src/MNH/write_surf_mnh.f90 | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/MNH/write_surf_mnh.f90 b/src/MNH/write_surf_mnh.f90
index 203a8b45f..490481b6f 100644
--- a/src/MNH/write_surf_mnh.f90
+++ b/src/MNH/write_surf_mnh.f90
@@ -758,6 +758,7 @@ END SUBROUTINE WRITE_SURFX2COV_MNH
 !!      original                                                     01/08/03
 !!      G.TANGUY 03/2009   add replace ZUNDEF(surfex) by XUNDEF(MNH)
 !!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
+!  P. Wautelet 07/02/2023: treat 2D case separately
 !----------------------------------------------------------------------------
 !
 !*      0.    DECLARATIONS
@@ -843,12 +844,24 @@ IF (HDIR=='H' .OR. HDIR=='A') THEN
   WHERE (ZWORK==ZUNDEF) ZWORK=XUNDEF
 !
   IF (HDIR=='H') THEN
-    CALL PREPARE_METADATA_WRITE_SURF(HREC,'XY',HCOMMENT,4,TYPEREAL,3,'WRITE_SURFX2_MNH',TZFIELD)
-    CALL IO_Field_write(TFILE_SURFEX,TZFIELD,ZWORK(1+NHALO:IIU-NHALO,1+NHALO:IJU-NHALO,:),KRESP)
+    IF ( SIZE(PFIELD,2) == 1 ) THEN
+      ! 2D case
+      CALL PREPARE_METADATA_WRITE_SURF(HREC,'XY',HCOMMENT,4,TYPEREAL,2,'WRITE_SURFX2_MNH',TZFIELD)
+      CALL IO_Field_write(TFILE_SURFEX,TZFIELD,ZWORK(1+NHALO:IIU-NHALO,1+NHALO:IJU-NHALO,1),KRESP)
+    ELSE
+      CALL PREPARE_METADATA_WRITE_SURF(HREC,'XY',HCOMMENT,4,TYPEREAL,3,'WRITE_SURFX2_MNH',TZFIELD)
+      CALL IO_Field_write(TFILE_SURFEX,TZFIELD,ZWORK(1+NHALO:IIU-NHALO,1+NHALO:IJU-NHALO,:),KRESP)
+    END IF
   END IF
   IF (HDIR=='A') THEN
-    CALL PREPARE_METADATA_WRITE_SURF(HREC,'--',HCOMMENT,4,TYPEREAL,3,'WRITE_SURFX2_MNH',TZFIELD)
-    CALL IO_Field_write(TFILE_SURFEX,TZFIELD,ZWORK(:,:,:),KRESP)
+    IF ( SIZE(PFIELD,2) == 1 ) THEN
+      ! 2D case
+      CALL PREPARE_METADATA_WRITE_SURF(HREC,'--',HCOMMENT,4,TYPEREAL,2,'WRITE_SURFX2_MNH',TZFIELD)
+      CALL IO_Field_write(TFILE_SURFEX,TZFIELD,ZWORK(:,:,1),KRESP)
+    ELSE
+      CALL PREPARE_METADATA_WRITE_SURF(HREC,'--',HCOMMENT,4,TYPEREAL,3,'WRITE_SURFX2_MNH',TZFIELD)
+      CALL IO_Field_write(TFILE_SURFEX,TZFIELD,ZWORK(:,:,:),KRESP)
+    END IF
   END IF
 !
   DEALLOCATE(ZWORK)
-- 
GitLab