diff --git a/src/MNH/write_surf_mnh.f90 b/src/MNH/write_surf_mnh.f90 index 203a8b45fcd22672546b0351b1259a808c7d0fa6..490481b6f59e7d2d055127a8dc7ecc58d2f40da8 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)