From ae0a473ae5ade1d4e55820e5df9ff9953d77f4a2 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Tue, 11 Apr 2017 10:16:32 +0200 Subject: [PATCH] Philippe 11/04/2017: IO: bug fix: problem when writing arrays of character in netCDF file --- src/LIB/SURCOUCHE/src/mode_netcdf.f90 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/LIB/SURCOUCHE/src/mode_netcdf.f90 b/src/LIB/SURCOUCHE/src/mode_netcdf.f90 index 1459f4806..29b23fcd1 100644 --- a/src/LIB/SURCOUCHE/src/mode_netcdf.f90 +++ b/src/LIB/SURCOUCHE/src/mode_netcdf.f90 @@ -1599,6 +1599,8 @@ TYPE(IOCDF), POINTER :: PZCDF CHARACTER(LEN=*),DIMENSION(:),INTENT(IN) :: HFIELD INTEGER, INTENT(OUT) :: KRESP ! +INTEGER(KIND=IDCDF_KIND),PARAMETER :: IONE = 1 +! INTEGER(KIND=IDCDF_KIND) :: STATUS INTEGER(KIND=IDCDF_KIND) :: INCID CHARACTER(LEN=LEN(TPFIELD%CMNHNAME)) :: YVARNAME @@ -1636,7 +1638,7 @@ ELSE END IF ! Write the data -STATUS = NF90_PUT_VAR(INCID, IVARID, HFIELD) +STATUS = NF90_PUT_VAR(INCID, IVARID, HFIELD(1:ISIZE)(1:ILEN), START=(/IONE,IONE/), COUNT=(/ILEN,ISIZE/)) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_C1[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) KRESP = IRESP -- GitLab