The TELEMAC-MASCARET system  trunk
read_spectra_coords.f
Go to the documentation of this file.
1 ! ******************************
2  SUBROUTINE read_spectra_coords
3 ! ******************************
4 !
5  & (fid,np,xp,yp)
6 !
7 !***********************************************************************
8 ! TOMAWAC V7P3 21/02/2017
9 !***********************************************************************
10 !
11 ! brief READS A LIST OF COORDINATES FROM AN EXTERNAL TEXT FILE
12 ! + AND ADDS THEM TO THE EXISTING COORDINATES
13 !
14 ! history A. JOLY (EDF - LNHE)
15 ! + 21/02/2017
16 ! + V7P3
17 ! + CREATED
18 
19 !
20 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21 !| FID |-->| ID OF THE TEXT FILE TO BE READ
22 !| NP |<->| NUMPER OF POINTS READ
23 !| XP,YP |<->| COORDINATES OF THE SPECTRUM POINTS
24 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25 !
27 !
28  IMPLICIT NONE
29 !
30 !
31 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
32 !
33  INTEGER, INTENT(IN) :: FID
34  INTEGER, INTENT(INOUT) :: NP
35  DOUBLE PRECISION,ALLOCATABLE, INTENT(INOUT) :: XP(:),YP(:)
36 !
37 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
38 !
39  INTEGER I
40  INTEGER I_GLO
41  DOUBLE PRECISION NE,ZP
42 !
43 !-----------------------------------------------------------------------
44 !
45 ! CHECK TO SEE IF THE PRINTOUT POINTS ARE ONLY DEFINED ONE WAY
46 !
47  IF(np.GT.0)THEN
48  WRITE(lu,*) ''
49  WRITE(lu,*) '**************************************'
50  WRITE(lu,*) ' ERROR : SPECTRA PRINTOUT POINTS'
51  WRITE(lu,*) ' THE PRINTOUT POINTS ARE DEFINED'
52  WRITE(lu,*) ' USING BOTH KEYWORDS AND A FILE'
53  WRITE(lu,*) '**************************************'
54  CALL plante(1)
55  stop
56  ENDIF
57 !
58 ! READ THE NUMBER OF POINTS
59  READ(fid,*) np,ne
60  IF(ALLOCATED(xp))DEALLOCATE(xp)
61  ALLOCATE(xp(np))
62  IF(ALLOCATED(yp))DEALLOCATE(yp)
63  ALLOCATE(yp(np))
64 ! READ ALL THE POINTS
65  DO i=1,np
66  READ(fid,*) i_glo,xp(i),yp(i),zp
67  ENDDO
68 !
69  RETURN
70  END
subroutine read_spectra_coords(FID, NP, XP, YP)