The TELEMAC-MASCARET system  trunk
write_header.f
Go to the documentation of this file.
1 ! *************************
2  SUBROUTINE write_header
3 ! *************************
4 !
5  &(fformat,nres,title,nvar,nomvar,outvar)
6 !
7 !***********************************************************************
8 ! HERMES V6P2 21/08/2010
9 !***********************************************************************
10 !
11 !brief Write the header of the result file
12 !
13 !history Y.audouin (LNHE)
14 !+ 05/02/04
15 !+ V7P0
16 !+ Creation of the file
17 !
18 !
19 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20 !| FFORMAT |-->| FILE FORMAT
21 !| NRES |-->| LOGICAL UNIT OF FILE
22 !| TITLE |-->| TITLE OF FILE
23 !| NVAR |-->| TOTAL NUMBER OF VARIABLES
24 !| NOMVAR |-->| NAME OF VARIABLES
25 !| OUTVAR |-->| VARIABLES TO BE PUT IN THE FILE
26 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27 !
29 !
31  IMPLICIT NONE
32 !
33 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
34 !
35  CHARACTER(LEN=8) , INTENT(IN) :: FFORMAT
36  INTEGER , INTENT(IN) :: NRES
37  CHARACTER(LEN=72) , INTENT(IN) :: TITLE
38  INTEGER , INTENT(IN) :: NVAR
39  CHARACTER(LEN=32),DIMENSION(NVAR), INTENT(IN) :: NOMVAR
40  LOGICAL ,DIMENSION(NVAR), INTENT(IN) :: OUTVAR
41 !
42 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
43 !
44  CHARACTER(LEN=80) :: F_TITLE
45  CHARACTER(LEN=32), ALLOCATABLE :: VAR_NAME(:)
46  INTEGER F_NVAR, IERR, I
47 !
48  ! COUTING THE REAL NUMBER OF VARIABLE
49  f_nvar = 0
50  DO i=1,nvar
51  IF(outvar(i)) f_nvar = f_nvar + 1
52  ENDDO
53  ! BUILD THE ARRAY CONTAING ONLY THE OUTPUT VARIABLE
54  ALLOCATE(var_name(f_nvar),stat=ierr)
55  CALL check_allocate(ierr,'VAR_NAME')
56  f_nvar = 0
57  DO i=1,nvar
58  IF(outvar(i)) THEN
59  f_nvar = f_nvar + 1
60  var_name(f_nvar)(1:32) = nomvar(i)(1:32)
61  ENDIF
62  ENDDO
63 !
64  ! ADD THE FORMAT TO THE TITLE
65  f_title = title(1:72)//fformat
66  CALL set_header(fformat,nres,f_title,f_nvar,var_name,ierr)
67  CALL check_call(ierr,'WRITE_HEADER:SET_HEADER')
68 !
69  DEALLOCATE(var_name)
70 !
71  RETURN
72  END
subroutine write_header(FFORMAT, NRES, TITLE, NVAR, NOMVAR, OUTVAR)
Definition: write_header.f:7
subroutine set_header(FFORMAT, FILE_ID, TITLE, NVAR, VAR_NAME, IERR)
Definition: set_header.f:7