Skip to content
Snippets Groups Projects
Commit 5d4d643b authored by WAUTELET Philippe's avatar WAUTELET Philippe
Browse files

Philippe 07/02/2017: IO: possible to write character strings values in output files

parent 7c76bc04
No related branches found
No related tags found
No related merge requests found
...@@ -33,6 +33,19 @@ DO JI = 1,SIZE(TPOUTPUT%NFIELDLIST) ...@@ -33,6 +33,19 @@ DO JI = 1,SIZE(TPOUTPUT%NFIELDLIST)
CASE (0) CASE (0)
SELECT CASE (TFIELDLIST(IDX)%NTYPE) SELECT CASE (TFIELDLIST(IDX)%NTYPE)
! !
!0D string
!
CASE (TYPECHAR)
IF ( .NOT.ALLOCATED(TFIELDLIST(IDX)%TFIELD_C0D) ) THEN
PRINT *,'FATAL: IO_WRITE_FIELDLIST: TFIELD_C0D is NOT allocated for ',TRIM(TFIELDLIST(IDX)%CMNHNAME)
STOP
END IF
IF ( .NOT.ASSOCIATED(TFIELDLIST(IDX)%TFIELD_C0D(IMI)%DATA) ) THEN
PRINT *,'FATAL: IO_WRITE_FIELDLIST: TFIELD_C0D%DATA is not associated for ',TRIM(TFIELDLIST(IDX)%CMNHNAME)
STOP
END IF
CALL IO_WRITE_FIELD(TPOUTPUT%TFILE,TFIELDLIST(IDX),HFIPRI,IRESP,TFIELDLIST(IDX)%TFIELD_C0D(IMI)%DATA)
!
!0D logical !0D logical
! !
CASE (TYPELOG) CASE (TYPELOG)
......
...@@ -15,6 +15,10 @@ IMPLICIT NONE ...@@ -15,6 +15,10 @@ IMPLICIT NONE
INTEGER,PRIVATE,PARAMETER :: MAXFIELDS = 100 INTEGER,PRIVATE,PARAMETER :: MAXFIELDS = 100
INTEGER,PARAMETER :: TYPEUNDEF = -1, TYPEINT = 1, TYPELOG = 2, TYPEREAL = 3, TYPECHAR = 4, TYPEDATE = 5 INTEGER,PARAMETER :: TYPEUNDEF = -1, TYPEINT = 1, TYPELOG = 2, TYPEREAL = 3, TYPECHAR = 4, TYPEDATE = 5
! !
TYPE TFIELDPTR_C0D
CHARACTER(LEN=:), POINTER :: DATA => NULL()
END TYPE TFIELDPTR_C0D
!
TYPE TFIELDPTR_L0D TYPE TFIELDPTR_L0D
LOGICAL, POINTER :: DATA => NULL() LOGICAL, POINTER :: DATA => NULL()
END TYPE TFIELDPTR_L0D END TYPE TFIELDPTR_L0D
...@@ -51,6 +55,8 @@ TYPE TFIELDDATA ...@@ -51,6 +55,8 @@ TYPE TFIELDDATA
INTEGER :: NTYPE = TYPEUNDEF !Datatype INTEGER :: NTYPE = TYPEUNDEF !Datatype
INTEGER :: NDIMS = 0 !Number of dimensions INTEGER :: NDIMS = 0 !Number of dimensions
! !
TYPE(TFIELDPTR_C0D),DIMENSION(:),ALLOCATABLE :: TFIELD_C0D !Pointer to the character string fields (one per nested mesh)
!
TYPE(TFIELDPTR_L0D),DIMENSION(:),ALLOCATABLE :: TFIELD_L0D !Pointer to the scalar logical fields (one per nested mesh) TYPE(TFIELDPTR_L0D),DIMENSION(:),ALLOCATABLE :: TFIELD_L0D !Pointer to the scalar logical fields (one per nested mesh)
! !
TYPE(TFIELDPTR_X0D),DIMENSION(:),ALLOCATABLE :: TFIELD_X0D !Pointer to the scalar real fields (one per nested mesh) TYPE(TFIELDPTR_X0D),DIMENSION(:),ALLOCATABLE :: TFIELD_X0D !Pointer to the scalar real fields (one per nested mesh)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment