The TELEMAC-MASCARET system  trunk
user_current.f
Go to the documentation of this file.
1 ! ***********************
2  SUBROUTINE user_current
3 ! ***********************
4 !
5  &(ncou,fmtcou)
6 !
7 !***********************************************************************
8 ! TOMAWAC
9 !***********************************************************************
10 !
11 !brief READS IN THE CURRENTS USING A USER-DEFINED FORMAT.
12 !
13 !note DURING THE FIRST PASS THE USER MUST IDENTIFY THE TIMES TC1 AND TC2
14 !+ WHICH SURROUND THE FIRST TIME STEP. NEXT, USING THE ARRAYS
15 !+ XRELC,YRELC,UR,VR OR DIRECTLY FROM THE CURRENT FILE, THE USER
16 !+ MAY HAVE TO INTERPOLATE THE CURRENTS READ FROM THE FILE INTO THE
17 !+ ARRAYS UC1,VC1 UC2,VC2.
18 !+
19 !+ INTERPOLATION SUBROUTINE FASP :
20 !+
21 !+ CALL FASP(X,Y,UC1,NPOIN,XRELC,YRELC,UR,NP,NBOR,MESH%KP1BOR%I,NPTFR,0.D0)
22 !+
23 !+ CALL FASP(X,Y,VC1,NPOIN,XRELC,YRELC,VR,NP,NBOR,MESH%KP1BOR%I,NPTFR,0.D0)
24 !+
25 !+ THE CODE WILL INTERPOLATE THE CURRENT AUTOMATICALLY BETWEEN THESE
26 !+ 2 TIME STEPS.
27 !+
28 !+ THE OTHER PASSES OCCUR WHEN A NEW RECORD IS REQUIRED (AT>TC2).
29 !+ IN THIS CASE TC2,UC2,VC2 ONLY ARE TO BE COMPUTED.
30 !
31 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32 !| AT |-->| COMPUTATION TIME
33 !| FMTCOU |-->| CURRENTS FILE BINARY FORMAT
34 !| DDC |-->| DATE OF COMPUTATION BEGINNING
35 !| NBOR |-->| GLOBAL NUMBER OF BOUNDARY POINTS
36 !| NCOU |-->| LOGICAL UNIT NUMBER OF THE CURRENTS FILE
37 !| NPMAX |-->| MAXIMUM NUMBER OF POINTS THAT CAN BE READ
38 !| NPOIN |-->| NUMBER OF POINTS IN 2D MESH
39 !| NPTFR |-->| NUMBER OF BOUNDARY POINTS
40 !| TC1 |-->| TIME T1 IN THE CURRENT FILE
41 !| TC2 |-->| TIME T2 IN THE CURRENT FILE
42 !| UC1,VC1 |<->| CURRENTS VALUES AT TIME T1 IN THE MESH
43 !| UC2,VC2 |<->| CURRENTS VALUES AT TIME T2 IN THE MESH
44 !| X |-->| ABSCISSAE OF POINTS IN THE MESH
45 !| Y |-->| ORDINATES OF POINTS IN THE MESH
46 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47 !
48 ! USE DECLARATIONS_TOMAWAC, ONLY : NPOIN2, X, Y, DDC, AT,
49 ! & UC1, UC2, VC1, VC2, TC1, TC2, NBOR, NPTFR
50  USE interface_tomawac, ex_user_current => user_current
51 !
53  IMPLICIT NONE
54 !
55 !
56 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
57 !
58  INTEGER, INTENT(IN) :: NCOU
59  CHARACTER(LEN=8), INTENT(IN) :: FMTCOU
60 !
61 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
62 !
63  WRITE(lu,*) '*********************************************'
64  WRITE(lu,*) ' YOU CALL THE SUBROUTINE COUUTI '
65  WRITE(lu,*) ' (CURRENTS FILE FORMAT = 3) '
66  WRITE(lu,*) ' BUT YOU DID NOT MODIFIED IT '
67  WRITE(lu,*) '*********************************************'
68  CALL plante(1)
69  stop
70 !
71 !-----------------------------------------------------------------------
72 !
73  RETURN
74  END
subroutine user_current(NCOU, FMTCOU)
Definition: user_current.f:7