source: lmdz_wrf/WRFV3/lmdz/q_sat.F90 @ 1

Last change on this file since 1 was 1, checked in by lfita, 10 years ago
  • -- --- Opening of the WRF+LMDZ coupling repository --- -- -

WRF: version v3.3
LMDZ: version v1818

More details in:

File size: 1.9 KB
Line 
1!
2! $Header$
3!
4!c
5!c
6
7      subroutine q_sat(np,temp,pres,qsat)
8!c
9      IMPLICIT none
10!c======================================================================
11!c Autheur(s): Z.X. Li (LMD/CNRS)
12!c  reecriture vectorisee par F. Hourdin.
13!c Objet: calculer la vapeur d'eau saturante (formule Centre Euro.)
14!c======================================================================
15!c Arguments:
16!c kelvin---input-R: temperature en Kelvin
17!c millibar--input-R: pression en mb
18!c
19!c q_sat----output-R: vapeur d'eau saturante en kg/kg
20!c======================================================================
21!c
22      integer np
23      REAL temp(np),pres(np),qsat(np)
24!c
25      REAL, PARAMETER                                    :: r2es=611.14 *18.0153/28.9644
26!c
27      REAL r3es
28      REAL, PARAMETER                                    :: R3LES=17.269
29      REAL, PARAMETER                                    :: R3IES=21.875
30!c
31      REAL r4es
32      REAL, PARAMETER                                    :: R4LES=35.86
33      REAL, PARAMETER                                    :: R4IES=7.66
34!c
35      REAL, PARAMETER                                    :: rtt=273.16
36!c
37      REAL, PARAMETER                                    :: retv=28.9644/18.0153 - 1.0
38
39      real zqsat
40      integer ip
41!c
42!C     ------------------------------------------------------------------
43!c
44!c
45
46      do ip=1,np
47
48!c      write(*,*)'kelvin,millibar=',kelvin,millibar
49!c       write(*,*)'temp,pres=',temp(ip),pres(ip)
50!c
51         IF (temp(ip) .LE. rtt) THEN
52            r3es = r3ies
53            r4es = r4ies
54         ELSE
55            r3es = r3les
56            r4es = r4les
57         ENDIF
58!c
59         zqsat=r2es/pres(ip)*EXP(r3es*(temp(ip)-rtt)/(temp(ip)-r4es))
60         zqsat=MIN(0.5,ZQSAT)
61         zqsat=zqsat/(1.-retv *zqsat)
62!c
63         qsat(ip)= zqsat
64!c      write(*,*)'qsat=',qsat(ip)
65
66      enddo
67!c
68      RETURN
69      END subroutine q_sat
Note: See TracBrowser for help on using the repository browser.