Last change
on this file since 1242 was
689,
checked in by flefevre, 13 years ago
|
Minor change. Better handling of very small water mixing ratio at saturation
(for very low temperatures).
|
File size:
1.2 KB
|
Line | |
---|
1 | SUBROUTINE watersat(naersize,t,p,qsat) |
---|
2 | IMPLICIT NONE |
---|
3 | |
---|
4 | c======================================================================= |
---|
5 | c |
---|
6 | c Water mass mixing ratio at saturation (kg/kg) for a given pressure (Pa) |
---|
7 | c and Temperature (K) array |
---|
8 | c |
---|
9 | c======================================================================= |
---|
10 | |
---|
11 | c declarations: |
---|
12 | c ------------- |
---|
13 | c arguments: |
---|
14 | c ---------- |
---|
15 | |
---|
16 | c INPUT |
---|
17 | integer naersize |
---|
18 | real t(naersize) , p(naersize) |
---|
19 | c OUTPUT |
---|
20 | real qsat(naersize) |
---|
21 | |
---|
22 | c local: |
---|
23 | c ------ |
---|
24 | INTEGER i |
---|
25 | REAL r2,r3,r4 , To, es |
---|
26 | SAVE r2,r3,r4 |
---|
27 | DATA r2,r3,r4/611.14,21.875,7.66/ |
---|
28 | SAVE To |
---|
29 | DATA To/273.16/ |
---|
30 | |
---|
31 | do i=1,naersize |
---|
32 | c pression de vapeur saturante : |
---|
33 | c es =r2*exp(r3*(t(i)-To)/(t(i)-r4)) |
---|
34 | c qsat(i)=es/p(i)*0.41 !rapport de melange |
---|
35 | es=2.07023-0.00320991*t(i)-2484.896/t(i)+3.56654*alog10(t(i)) |
---|
36 | es=10.**es |
---|
37 | qsat(i)=(es*100.)/p(i)*0.41 |
---|
38 | qsat(i) = max(qsat(i), 1.e-30) |
---|
39 | |
---|
40 | c qss = specific humidity |
---|
41 | c qss=622*10**(2.07023-0.0032991*Tsurf(ig)-2484.896/Tsurf(ig) |
---|
42 | c $ +3.56654*log10(Tsurf(ig))) |
---|
43 | |
---|
44 | enddo |
---|
45 | |
---|
46 | RETURN |
---|
47 | END |
---|
48 | |
---|
Note: See
TracBrowser
for help on using the repository browser.