From 50c2cbdf85a59b07e5cb398a67067564b3ad3730 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Mon, 11 Sep 2017 09:29:57 +0200 Subject: [PATCH] Philippe 11/09/2017: IO: SURFEX: length of record name is set with LEN_HREC It was already possible but LEN_HREC was missing in some places. (cherry picked from commit e2fbb2b227e1be392e396e363ac2fbedb32f2aeb) --- src/SURFEX/build_emisstabn.F90 | 2 +- src/SURFEX/ch_emission_fluxn.F90 | 2 +- src/SURFEX/ch_init_snapn.F90 | 2 +- src/SURFEX/get_iok_assim.F90 | 2 +- src/SURFEX/mode_read_surf_cov.F90 | 2 +- src/SURFEX/old_name.F90 | 4 ++-- src/SURFEX/prep_hor_snow_fields.F90 | 2 +- src/SURFEX/read_surf.F90 | 24 ++++++++++++------------ src/SURFEX/write_bld_descriptionn.F90 | 9 ++++++--- src/SURFEX/write_diag_ch_snapn.F90 | 2 +- src/SURFEX/write_surf.F90 | 12 ++++++------ src/SURFEX/writesurf_snapn.F90 | 6 +++--- src/SURFEX/zoom_pgd_cover.F90 | 2 +- 13 files changed, 37 insertions(+), 34 deletions(-) diff --git a/src/SURFEX/build_emisstabn.F90 b/src/SURFEX/build_emisstabn.F90 index b4c19af00..e964a7cf7 100644 --- a/src/SURFEX/build_emisstabn.F90 +++ b/src/SURFEX/build_emisstabn.F90 @@ -85,7 +85,7 @@ INTEGER :: IIND1, IIND2 INTEGER :: JSPEC ! loop index INTEGER :: ITIME ! loop index INTEGER :: IWS_DEFAULT ! Default Memory window size for emission reading - CHARACTER (LEN=16):: YRECFM ! LFI article name +CHARACTER (LEN=LEN_HREC):: YRECFM ! LFI article name REAL(KIND=JPRB) :: ZHOOK_HANDLE ! diff --git a/src/SURFEX/ch_emission_fluxn.F90 b/src/SURFEX/ch_emission_fluxn.F90 index 49d782159..cb6bfb7f2 100644 --- a/src/SURFEX/ch_emission_fluxn.F90 +++ b/src/SURFEX/ch_emission_fluxn.F90 @@ -89,7 +89,7 @@ INTEGER :: INBTS ! Number of emission times for a species INTEGER :: ITIM1,ITIM2 ! first/last time for interpolation INTEGER :: INDX1,INDX2 ! first/next index for data interpolation INTEGER :: ISIMTIME, ITPERIOD - CHARACTER (LEN=16) :: YRECFM ! LFI article name +CHARACTER (LEN=LEN_HREC) :: YRECFM ! LFI article name TYPE(PRONOSVAR_T),POINTER :: CURPRONOS !Current pronostic variable ! !* 0.3 declaration of saved local variables diff --git a/src/SURFEX/ch_init_snapn.F90 b/src/SURFEX/ch_init_snapn.F90 index 576767089..e9ead2aa0 100644 --- a/src/SURFEX/ch_init_snapn.F90 +++ b/src/SURFEX/ch_init_snapn.F90 @@ -82,7 +82,7 @@ INTEGER :: ISNAP INTEGER :: IRESP ! File INTEGER :: ILUOUT ! output listing logical unit CHARACTER (LEN=3) :: YCONVERSION - CHARACTER (LEN=16) :: YRECFM ! management + CHARACTER (LEN=LEN_HREC) :: YRECFM ! management CHARACTER (LEN=100) :: YCOMMENT ! variables INTEGER :: JSPEC ! Loop index for chemical species INTEGER :: JSNAP ! Loop index for SNAP categories diff --git a/src/SURFEX/get_iok_assim.F90 b/src/SURFEX/get_iok_assim.F90 index 95361b240..0f96c4c1e 100644 --- a/src/SURFEX/get_iok_assim.F90 +++ b/src/SURFEX/get_iok_assim.F90 @@ -11,7 +11,7 @@ USE PARKIND1 ,ONLY : JPRB ! IMPLICIT NONE ! - CHARACTER(LEN=16), INTENT(IN) :: HREC + CHARACTER(LEN=LEN_HREC), INTENT(IN) :: HREC INTEGER, INTENT(OUT) :: KOK ! INTEGER :: ILEN diff --git a/src/SURFEX/mode_read_surf_cov.F90 b/src/SURFEX/mode_read_surf_cov.F90 index b4077f1e5..311fe54e8 100644 --- a/src/SURFEX/mode_read_surf_cov.F90 +++ b/src/SURFEX/mode_read_surf_cov.F90 @@ -48,7 +48,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem !* 0.2 Declarations of local variables ! CHARACTER(LEN=100) :: YCOMMENT - CHARACTER(LEN=16) :: YREC + CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=1) :: YDIR INTEGER :: JJ INTEGER :: JCOVER diff --git a/src/SURFEX/old_name.F90 b/src/SURFEX/old_name.F90 index d3a92baa5..ddaf96dc4 100644 --- a/src/SURFEX/old_name.F90 +++ b/src/SURFEX/old_name.F90 @@ -56,8 +56,8 @@ IMPLICIT NONE ! ! CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! main program - CHARACTER(LEN=LEN_HREC), INTENT(IN) :: HRECIN ! name of field to be read - CHARACTER(LEN=LEN_HREC), INTENT(OUT) :: HRECOUT ! name of field to be read is old file + CHARACTER(LEN=*), INTENT(IN) :: HRECIN ! name of field to be read + CHARACTER(LEN=*), INTENT(OUT) :: HRECOUT ! name of field to be read is old file ! ! !* 0.2 Declarations of local variables diff --git a/src/SURFEX/prep_hor_snow_fields.F90 b/src/SURFEX/prep_hor_snow_fields.F90 index bf968b142..e844d00a7 100644 --- a/src/SURFEX/prep_hor_snow_fields.F90 +++ b/src/SURFEX/prep_hor_snow_fields.F90 @@ -130,7 +130,7 @@ REAL,DIMENSION(:,:,:), ALLOCATABLE :: ZVEGTYPE_PATCH ! fraction of each vegt INTEGER :: JPATCH ! loop counter on patches INTEGER :: JLAYER ! loop counter on layers INTEGER :: IVERSION ! surface version - CHARACTER(LEN=16) :: YRECFM ! record name +CHARACTER(LEN=LEN_HREC) :: YRECFM ! record name INTEGER :: IRESP ! error return code LOGICAL :: GGLACIER ! diff --git a/src/SURFEX/read_surf.F90 b/src/SURFEX/read_surf.F90 index 4fdd75370..71dd5c622 100644 --- a/src/SURFEX/read_surf.F90 +++ b/src/SURFEX/read_surf.F90 @@ -273,7 +273,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem ap ! !* 0.2 Declarations of local variables ! - CHARACTER(LEN=16) :: YREC + CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=1) :: YDIR REAL :: XTIME0 INTEGER :: INFOMPI @@ -424,7 +424,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem ap !* 0.2 Declarations of local variables ! CHARACTER(LEN=100) :: YCOMMENT - CHARACTER(LEN=16) :: YREC + CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=1) :: YDIR INTEGER :: IL, IOK REAL(KIND=JPRB) :: ZHOOK_HANDLE @@ -550,7 +550,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem !* 0.2 Declarations of local variables ! CHARACTER(LEN=100) :: YCOMMENT - CHARACTER(LEN=16) :: YREC + CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=1) :: YDIR INTEGER :: IL1, IL2, IOK REAL(KIND=JPRB) :: ZHOOK_HANDLE @@ -657,7 +657,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a proble !* 0.2 Declarations of local variables ! CHARACTER(LEN=100) :: YCOMMENT - CHARACTER(LEN=16) :: YREC + CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=1) :: YDIR INTEGER :: IL1, IL2, IL3 REAL(KIND=JPRB) :: ZHOOK_HANDLE @@ -752,7 +752,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem app ! !* 0.2 Declarations of local variables ! - CHARACTER(LEN=16) :: YREC + CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=1) :: YDIR REAL :: XTIME0 INTEGER :: INFOMPI @@ -905,7 +905,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem !* 0.2 Declarations of local variables ! CHARACTER(LEN=100) :: YCOMMENT - CHARACTER(LEN=16) :: YREC + CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=1) :: YDIR INTEGER :: IL REAL(KIND=JPRB) :: ZHOOK_HANDLE @@ -1019,7 +1019,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem ap ! !* 0.2 Declarations of local variables ! - CHARACTER(LEN=16) :: YREC + CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=1) :: YDIR REAL :: XTIME0 INTEGER :: INFOMPI @@ -1164,7 +1164,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem appe ! !* 0.2 Declarations of local variables ! - CHARACTER(LEN=16) :: YREC + CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=1) :: YDIR REAL :: XTIME0 INTEGER :: INFOMPI @@ -1305,7 +1305,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem !* 0.2 Declarations of local variables ! CHARACTER(LEN=100) :: YCOMMENT - CHARACTER(LEN=16) :: YREC + CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=1) :: YDIR INTEGER :: IL REAL(KIND=JPRB) :: ZHOOK_HANDLE @@ -1413,7 +1413,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem app ! !* 0.2 Declarations of local variables ! - CHARACTER(LEN=16) :: YREC + CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=1) :: YDIR ! REAL :: XTIME0 @@ -1586,7 +1586,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem a ! !* 0.2 Declarations of local variables ! - CHARACTER(LEN=16) :: YREC + CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=1) :: YDIR INTEGER :: ILUOUT INTEGER :: INFOMPI @@ -1755,7 +1755,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem app ! !* 0.2 Declarations of local variables ! - CHARACTER(LEN=16) :: YREC + CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=1) :: YDIR INTEGER :: ILUOUT INTEGER :: INFOMPI diff --git a/src/SURFEX/write_bld_descriptionn.F90 b/src/SURFEX/write_bld_descriptionn.F90 index 2b00c1dbf..4f5bbd0c0 100644 --- a/src/SURFEX/write_bld_descriptionn.F90 +++ b/src/SURFEX/write_bld_descriptionn.F90 @@ -81,7 +81,8 @@ INTEGER :: IRESP INTEGER :: I1, I2 INTEGER :: JL INTEGER :: ITOT - CHARACTER(LEN=100) :: YCOMMENT +CHARACTER(LEN=LEN_HREC) :: YRECFM +CHARACTER(LEN=100) :: YCOMMENT !------------------------------------------------------------------------------- !------------------------------------------------------------------------------- ! @@ -102,9 +103,10 @@ ZWORK(5) = FLOAT(BDD%NDESC_ROOF_LAYER) ZWORK(6) = FLOAT(BDD%NDESC_ROAD_LAYER) ZWORK(7) = FLOAT(BDD%NDESC_FLOOR_LAYER) ! +YRECFM='Bld_dimensions' YCOMMENT='Configuration numbers for descriptive building data' CALL WRITE_SURF(DGU, U, & - HPROGRAM,'BLD_DESC_CNF',ZWORK,IRESP,YCOMMENT,'-','Bld_dimensions ') + HPROGRAM,'BLD_DESC_CNF',ZWORK,IRESP,YCOMMENT,'-',YRECFM) DEALLOCATE(ZWORK) ! !------------------------------------------------------------------------------- @@ -192,9 +194,10 @@ END DO CALL UP_DESC_IND_W(BDD%NDESC_AGE) ; ZWORK(I1:I2) = FLOAT(BDD%NDESC_AGE_LIST(:)) CALL UP_DESC_IND_W(BDD%NDESC_AGE) ; ZWORK(I1:I2) = FLOAT(BDD%NDESC_AGE_DATE(:)) ! +YRECFM='Bld_parameters ' YCOMMENT='Descriptive building data' CALL WRITE_SURF(DGU, U, & - HPROGRAM,'BLD_DESC_DAT',ZWORK,IRESP,YCOMMENT,'-','Bld_parameters ') + HPROGRAM,'BLD_DESC_DAT',ZWORK,IRESP,YCOMMENT,'-',YRECFM) DEALLOCATE(ZWORK) ! IF (LHOOK) CALL DR_HOOK('WRITE_BLD_DESCRIPTION_n',1,ZHOOK_HANDLE) diff --git a/src/SURFEX/write_diag_ch_snapn.F90 b/src/SURFEX/write_diag_ch_snapn.F90 index d20efe15c..1ccf147fc 100644 --- a/src/SURFEX/write_diag_ch_snapn.F90 +++ b/src/SURFEX/write_diag_ch_snapn.F90 @@ -67,7 +67,7 @@ TYPE(CH_EMIS_SNAP_t), INTENT(INOUT) :: CHN ! INTEGER :: IRESP ! IRESP : return-code if a problem appears - CHARACTER(LEN=16) :: YRECFM ! Name of the article to be read + CHARACTER(LEN=LEN_HREC) :: YRECFM ! Name of the article to be read CHARACTER(LEN=100):: YCOMMENT ! Comment string ! INTEGER :: JSPEC diff --git a/src/SURFEX/write_surf.F90 b/src/SURFEX/write_surf.F90 index 12c51ed98..72920d7eb 100644 --- a/src/SURFEX/write_surf.F90 +++ b/src/SURFEX/write_surf.F90 @@ -50,7 +50,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem ! ! 'H' : field with ! ! horizontal spatial dim. ! ! '-' : no horizontal dim. - CHARACTER(LEN=LEN_HREC), OPTIONAL, INTENT(IN) :: HNAM_DIM + CHARACTER(LEN=16), OPTIONAL, INTENT(IN) :: HNAM_DIM END SUBROUTINE WRITE_SURFX1 ! SUBROUTINE WRITE_SURFX2 (DGU, U, & @@ -71,7 +71,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a proble ! ! 'H' : field with ! ! horizontal spatial dim. ! ! '-' : no horizontal dim. - CHARACTER(LEN=LEN_HREC), OPTIONAL, INTENT(IN) :: HNAM_DIM + CHARACTER(LEN=16), OPTIONAL, INTENT(IN) :: HNAM_DIM END SUBROUTINE WRITE_SURFX2 ! !RJ: interface to WRITE_SURFX2COV moved out @@ -111,7 +111,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a probl ! ! 'H' : field with ! ! horizontal spatial dim. ! ! '-' : no horizontal dim. - CHARACTER(LEN=LEN_HREC), OPTIONAL, INTENT(IN) :: HNAM_DIM + CHARACTER(LEN=16), OPTIONAL, INTENT(IN) :: HNAM_DIM END SUBROUTINE WRITE_SURFN1 ! SUBROUTINE WRITE_SURFC0 (DGU, U, & @@ -453,7 +453,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem ! ! 'H' : field with ! ! horizontal spatial dim. ! ! '-' : no horizontal dim. - CHARACTER(LEN=LEN_HREC), OPTIONAL, INTENT(IN) :: HNAM_DIM + CHARACTER(LEN=16), OPTIONAL, INTENT(IN) :: HNAM_DIM !* 0.2 Declarations of local variables ! CHARACTER(LEN=LEN_HREC) :: YREC @@ -606,7 +606,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a proble ! ! 'H' : field with ! ! horizontal spatial dim. ! ! '-' : no horizontal dim. - CHARACTER(LEN=LEN_HREC), OPTIONAL, INTENT(IN) :: HNAM_DIM + CHARACTER(LEN=16), OPTIONAL, INTENT(IN) :: HNAM_DIM !* 0.2 Declarations of local variables ! CHARACTER(LEN=LEN_HREC) :: YREC @@ -919,7 +919,7 @@ INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a probl ! ! 'H' : field with ! ! horizontal spatial dim. ! ! '-' : no horizontal dim. - CHARACTER(LEN=LEN_HREC), OPTIONAL, INTENT(IN) :: HNAM_DIM + CHARACTER(LEN=16), OPTIONAL, INTENT(IN) :: HNAM_DIM !* 0.2 Declarations of local variables ! CHARACTER(LEN=LEN_HREC) :: YREC diff --git a/src/SURFEX/writesurf_snapn.F90 b/src/SURFEX/writesurf_snapn.F90 index 4efed20c2..649ef1057 100644 --- a/src/SURFEX/writesurf_snapn.F90 +++ b/src/SURFEX/writesurf_snapn.F90 @@ -44,9 +44,9 @@ TYPE(CH_EMIS_SNAP_t), INTENT(INOUT) :: CHN !* 0.2 declarations of local variables ! INTEGER :: IRESP ! I/O error code - CHARACTER (LEN=16) :: YRECFM ! article name - CHARACTER (LEN=100) :: YCOMMENT ! comment - CHARACTER(LEN=100):: YCOMMENTUNIT ! Comment string : unit of the datas in the field to write +CHARACTER(LEN=LEN_HREC) :: YRECFM ! article name +CHARACTER(LEN=100) :: YCOMMENT ! comment +CHARACTER(LEN=100) :: YCOMMENTUNIT ! Comment string : unit of the datas in the field to write INTEGER :: ILUOUT ! Unit number for prints INTEGER :: JSPEC ! Loop index for emission species INTEGER :: JSNAP ! Loop index for SNAP categories diff --git a/src/SURFEX/zoom_pgd_cover.F90 b/src/SURFEX/zoom_pgd_cover.F90 index f0ab22b28..a32fab0e0 100644 --- a/src/SURFEX/zoom_pgd_cover.F90 +++ b/src/SURFEX/zoom_pgd_cover.F90 @@ -119,7 +119,7 @@ REAL, DIMENSION(:,:), POINTER :: ZCOVER REAL, DIMENSION(:,:), POINTER :: ZSEA1, ZWATER1, ZNATURE1, ZTOWN1 REAL, DIMENSION(:,:), POINTER :: ZSEA2, ZWATER2, ZNATURE2, ZTOWN2 REAL, DIMENSION(:), ALLOCATABLE :: ZSUM - CHARACTER(LEN=16) :: YRECFM ! Name of the article to be read + CHARACTER(LEN=LEN_HREC) :: YRECFM ! Name of the article to be read CHARACTER(LEN=100) :: YCOMMENT REAL(KIND=JPRB) :: ZHOOK_HANDLE !------------------------------------------------------------------------------ -- GitLab