1 | SUBROUTINE modbgazinterp(temp,RT,IT,flag)
2 | C**********************************************************************
3 | C
4 | C THIS SUBROUTINE calcule le coeff d'interpolation en temperature
5 | c pour les parametres kb et dinv n'ayant pas de formule
6 | c en fonction de la temperature
7 | c ceci reste local:une maille
8 | c AVERTISSEMENT !!!: Directement construit a partir
9 | c du programme de Taine et Soufiani
10 | c subroutine TMNO
11 | c
12 | c in --> pression totale (idem dans toutes les mailles)
13 | c temperature de la maille
14 | c 'profils.inc' mais besoin de 'cecile.inc' car n_mx
15 | c donc ci-dessus en entree
16 | c
17 | c
18 | c
19 | c out --> les valeurs de RT et IT
20 | c
21 | C*********************************************************************
22 |
23 |
24 | c declarations
25 | implicit none
26 | integer IT
27 | double precision temp, TM , RT
28 | logical flag
29 |
30 | C***********************************************************************
31 | C *
32 | C THIS SUBROUTINE CALCULATES THE INTERPOLATION COEFFICIENTS *
33 | C *
34 | C***********************************************************************
35 | c in --> TM
36 | c
37 | c out --> RT et IT
38 | C
39 | c SUBROUTINE TMNO(TM,RT,IT)
40 | c DOUBLE PRECISION TM,RT
41 |
42 | TM = temp
43 |
44 |
45 | IF(TM.GT.300.0) THEN
46 | IF(TM.LT.2900.0) THEN
47 | RT=(TM-300.0)/200.0
48 | IT=INT(RT+1.0E-6)
49 | RT=RT-IT
50 | IT=IT+1
51 | ELSE
52 | RT=0.0 !1.0 avant
53 | IT=14 !11 avant
54 | if (flag) then
55 | write(*,*)'WARNING spectral data: saturation temperature'
56 | flag = .False.
57 | endif
58 | ENDIF
59 | ELSE
60 | RT=0.0
61 | IT=1
62 | if (flag) then
63 | write(*,*)'WARNING spectral data: saturation temperature'
64 | flag = .False.
65 | endif
66 | ENDIF
67 | RETURN
68 | END
69 |
modbgazinterp.f could be called by: