| 1 | MODULE watersat_mod |
|---|
| 2 | |
|---|
| 3 | IMPLICIT NONE |
|---|
| 4 | |
|---|
| 5 | CONTAINS |
|---|
| 6 | |
|---|
| 7 | SUBROUTINE watersat(naersize,t,p,qsat) |
|---|
| 8 | |
|---|
| 9 | IMPLICIT NONE |
|---|
| 10 | |
|---|
| 11 | c======================================================================= |
|---|
| 12 | c |
|---|
| 13 | c Water mass mixing ratio at saturation (kg/kg) for a given pressure (Pa) |
|---|
| 14 | c and Temperature (K) array |
|---|
| 15 | c |
|---|
| 16 | c Move in module by Deborah BARDET 02/07/18 |
|---|
| 17 | c======================================================================= |
|---|
| 18 | |
|---|
| 19 | c declarations: |
|---|
| 20 | c ------------- |
|---|
| 21 | c arguments: |
|---|
| 22 | c ---------- |
|---|
| 23 | |
|---|
| 24 | c INPUT |
|---|
| 25 | integer, intent(in) :: naersize |
|---|
| 26 | real, intent(in) :: t(naersize) |
|---|
| 27 | real, intent(in) :: p(naersize) |
|---|
| 28 | c OUTPUT |
|---|
| 29 | real, intent(out) :: qsat(naersize) |
|---|
| 30 | |
|---|
| 31 | c local: |
|---|
| 32 | c ------ |
|---|
| 33 | INTEGER i |
|---|
| 34 | REAL,PARAMETER :: r2 = 611.14 |
|---|
| 35 | REAL,PARAMETER :: r3 = 21.875 |
|---|
| 36 | REAL,PARAMETER :: r4 = 7.66 |
|---|
| 37 | REAL,PARAMETER :: To = 273.16 |
|---|
| 38 | REAL es |
|---|
| 39 | |
|---|
| 40 | |
|---|
| 41 | do i=1,naersize |
|---|
| 42 | c pression de vapeur saturante : |
|---|
| 43 | c es =r2*exp(r3*(t(i)-To)/(t(i)-r4)) |
|---|
| 44 | c qsat(i)=es/p(i)*0.41 !rapport de melange |
|---|
| 45 | es=2.07023-0.00320991*t(i)-2484.896/t(i)+3.56654*alog10(t(i)) |
|---|
| 46 | es=10.**es |
|---|
| 47 | qsat(i)=(es*100.)/p(i)*0.41 |
|---|
| 48 | qsat(i) = max(qsat(i), 1.e-30) |
|---|
| 49 | |
|---|
| 50 | c qss = specific humidity |
|---|
| 51 | c qss=622*10**(2.07023-0.0032991*Tsurf(ig)-2484.896/Tsurf(ig) |
|---|
| 52 | c $ +3.56654*log10(Tsurf(ig))) |
|---|
| 53 | |
|---|
| 54 | enddo |
|---|
| 55 | |
|---|
| 56 | END SUBROUTINE watersat |
|---|
| 57 | |
|---|
| 58 | END MODULE watersat_mod |
|---|