bedload_direction.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\sisyphe\bedload_direction.f
00002 !
00057                      SUBROUTINE BEDLOAD_DIRECTION ! (_IMP_)
00058 !                    **************************************
00059 !
00060      &  (QU, QV, NPOIN, PI, THETAC)
00061 !
00062 !***********************************************************************
00063 ! SISYPHE   V6P1                                   21/07/2011
00064 !***********************************************************************
00065 !
00066 !
00067 !
00068 !
00069 !
00070 !
00071 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00072 !| NPOIN          |-->| NUMBER OF POINTS
00073 !| PI             |-->| PI
00074 !| QU             |-->| DISCHARGE X
00075 !| QV             |-->| DISCHARGE Y
00076 !| THETAC         |<->| CURRENT ANGLE TO THE X AXIS
00077 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00078 !
00079       USE INTERFACE_SISYPHE,
00080      &    EX_BEDLOAD_DIRECTION => BEDLOAD_DIRECTION
00081       USE BIEF
00082       IMPLICIT NONE
00083       INTEGER LNG,LU
00084       COMMON/INFO/LNG,LU
00085 !
00086       ! 2/ GLOBAL VARIABLES
00087       ! -------------------
00088       TYPE(BIEF_OBJ),  INTENT(IN)  :: QU, QV
00089       INTEGER,          INTENT(IN)  :: NPOIN
00090       DOUBLE PRECISION, INTENT(IN)  :: PI
00091       TYPE(BIEF_OBJ),  INTENT(INOUT) :: THETAC
00092 !
00093       ! 3/ LOCAL VARIABLES
00094       ! ------------------
00095       INTEGER                     :: I
00096       DOUBLE PRECISION, PARAMETER :: LOCAL_ZERO = 1.D-6
00097 !
00098 !======================================================================!
00099 !======================================================================!
00100 !                    DECLARES TYPES AND DIMENSIONS                     !
00101 !======================================================================!
00102 !======================================================================!
00103       DO I = 1, NPOIN
00104         IF (ABS(QU%R(I)) <= LOCAL_ZERO) THEN
00105           IF (QV%R(I) < = LOCAL_ZERO) THEN
00106             THETAC%R(I) = -PI*0.5D0
00107           ELSE
00108             THETAC%R(I) =  PI*0.5D0
00109           ENDIF
00110         ELSE
00111           THETAC%R(I) = ATAN(QV%R(I) / QU%R(I))
00112           IF (QU%R(I) < 0.D0) THEN
00113             THETAC%R(I) = PI + THETAC%R(I)
00114           ENDIF
00115         ENDIF
00116       END DO
00117 !======================================================================!
00118 !======================================================================!
00119       RETURN
00120       END SUBROUTINE BEDLOAD_DIRECTION

Generated on Fri Aug 31 2013 18:12:58 by S.E.Bourban (HRW) using doxygen 1.7.0