Philippe 11/09/2017: IO: SURFEX: length of record name is set with LEN_HREC
authorPhilippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Mon, 11 Sep 2017 07:29:57 +0000 (09:29 +0200)
committerPhilippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Tue, 12 Sep 2017 12:57:54 +0000 (14:57 +0200)
It was already possible but LEN_HREC was missing in some places.

(cherry picked from commit e2fbb2b227e1be392e396e363ac2fbedb32f2aeb)

13 files changed:
src/SURFEX/build_emisstabn.F90
src/SURFEX/ch_emission_fluxn.F90
src/SURFEX/ch_init_snapn.F90
src/SURFEX/get_iok_assim.F90
src/SURFEX/mode_read_surf_cov.F90
src/SURFEX/old_name.F90
src/SURFEX/prep_hor_snow_fields.F90
src/SURFEX/read_surf.F90
src/SURFEX/write_bld_descriptionn.F90
src/SURFEX/write_diag_ch_snapn.F90
src/SURFEX/write_surf.F90
src/SURFEX/writesurf_snapn.F90
src/SURFEX/zoom_pgd_cover.F90

index b4c19af..e964a7c 100644 (file)
@@ -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
 
 !
index 49d7821..cb6bfb7 100644 (file)
@@ -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
index 5767670..e9ead2a 100644 (file)
@@ -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
index 95361b2..0f96c4c 100644 (file)
@@ -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
index b4077f1..311fe54 100644 (file)
@@ -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
index d3a92ba..ddaf96d 100644 (file)
@@ -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
index bf968b1..e844d00 100644 (file)
@@ -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
 !
index 4fdd753..71dd5c6 100644 (file)
@@ -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
index 2b00c1d..4f5bbd0 100644 (file)
@@ -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)
index d20efe1..1ccf147 100644 (file)
@@ -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
index 12c51ed..72920d7 100644 (file)
@@ -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
index 4efed20..649ef10 100644 (file)
@@ -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
index f0ab22b..a32fab0 100644 (file)
@@ -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\r
  CHARACTER(LEN=100) :: YCOMMENT
 REAL(KIND=JPRB) :: ZHOOK_HANDLE
 !------------------------------------------------------------------------------