1 | include(dom.inc)
2 |
3 | SUBROUTINE MALKMUS_CASE(tau,ls,celldata,ncells,all_WVNB,all_DWVNB,&
4 | & KCO,DCO,KC,DC,KH,DH,i_bande,nbands)
5 |
6 | IMPLICIT NONE
7 |
8 | ! IN
9 | DOM_INT :: ncells,nbands
10 | DOM_REAL,DIMENSION(14,nbands) :: KCO,DCO,KC,DC,KH,DH
11 | DOM_REAL,DIMENSION(nbands) :: all_WVNB,all_DWVNB
12 | DOM_REAL,DIMENSION(ncells,8) :: celldata
13 | DOM_REAL :: ls
14 |
15 | ! OUT
16 | DOM_REAL,DIMENSION(ncells) :: tau
17 |
18 | ! LOCAL
19 | DOM_REAL,DIMENSION(2) :: MIXDATA
20 | DOM_REAL :: ksoot,l,WVNB,DWVNB
21 | DOM_INT :: ielt, i
22 | DOM_INT :: i_bande
23 | DOM_INT :: ICO,ICO2,IH2O
24 | LOGICAL :: LICO,LICO2,LIH2O
25 |
26 | ! ----------------------------------------!
27 | ! Spectral index lecture for each species !
28 | ! ----------------------------------------!
29 | WVNB = all_WVNB(i_bande)
30 | DWVNB = all_DWVNB(i_bande)
31 |
32 | tau = 1.
33 |
34 | IF (WVNB<9300.0) THEN
35 | CALL FINDI(LICO,LICO2,LIH2O,ICO,ICO2,IH2O,WVNB,DWVNB)
36 |
37 | DO ielt=1,ncells
38 |
39 | CALL KBARANDPHI(celldata(ielt,:),LICO,LICO2,LIH2O,ICO, &
40 | & ICO2,IH2O,KCO,KC,KH,DCO,DC,DH,MIXDATA)
41 |
42 | IF((MIXDATA(2).eq.0).or.(MIXDATA(1).eq.0)) THEN
43 | tau(ielt) = 1
44 |
45 | ELSE
46 |
47 | tau(ielt)=exp(MIXDATA(2)*(1-(1+(2*MIXDATA(1)*ls/MIXDATA(2))&
48 | & )**0.5))
49 |
50 | ENDIF
51 |
52 | ksoot = 5.5 * celldata(ielt,8) * WVNB
53 | tau(ielt) = tau(ielt) * exp(-ksoot*ls)
54 |
55 | ENDDO
56 |
57 | ENDIF
58 |
59 | END SUBROUTINE MALKMUS_CASE
60 |
malkmus_case.F could be called by: