The TELEMAC-MASCARET system  trunk
satur_o2.f
Go to the documentation of this file.
1 ! *******************
2  SUBROUTINE satur_o2
3 ! *******************
4 !
5  &(sato2,formcs,wattemp,eps)
6 !
7 !***********************************************************************
8 ! TELEMAC2D V7P1
9 !***********************************************************************
10 !
11 !brief COMPUTES THE CONCENTRATION OF O2 SATURATION OF WATER
12 !
13 !
14 !history R. ATA (LNHE)
15 !+ 02/09/2015
16 !+ V7P1
17 !+ First version.
18 !
19 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20 !| EPS |-->| TO AVOID DIVISION BY 0
21 !| FORMCS |-->| WHICH FORMULAE FOR SATUR_O2
22 !| SATO2 |<--| CONCENTRATION OF O2 SATURATION OF WATER
23 !| WATTEMP |-->| TEMPERATURE OF WATER
24 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25 !
26  USE bief
28  USE interface_waqtel, ex_satur_o2 => satur_o2
29 !
30  IMPLICIT NONE
31 !
32 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
33 !
34  INTEGER , INTENT(IN) :: FORMCS
35  DOUBLE PRECISION, INTENT(IN) :: WATTEMP,EPS
36  DOUBLE PRECISION, INTENT(INOUT) :: SATO2
37 !
38 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
39 !
40  INTRINSIC abs
41 !
42 !-----------------------------------------------------------------------
43 !
44  IF(formcs.NE.0) THEN
45  IF(formcs.EQ.1) THEN
46  sato2 = 14.652d0 - 0.41022d0 * wattemp
47  & + 0.007991d0 * wattemp**2
48  & - 7.7774d-5 * wattemp**3
49  ELSEIF(formcs.EQ.2)THEN
50  IF(abs(31.6d0+wattemp).GT.eps)THEN
51  sato2 = 468.d0/(31.6d0+wattemp)
52  ELSE
53  sato2 = 468.d0/eps
54  ENDIF
55  ELSE
56  WRITE(lu,101) formcs
57  CALL plante(1)
58  stop
59  ENDIF
60  ENDIF
61 !
62 ! ERROR MESSAGES
63 !
64 101 FORMAT(1x,'CS FORMULA :',i3,/,1x, 'NOT AVAILABLE')
65 !
66 !-----------------------------------------------------------------------
67 !
68  RETURN
69  END
70 
subroutine satur_o2(SATO2, FORMCS, WATTEMP, EPS)
Definition: satur_o2.f:7
Definition: bief.f:3