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