UPP (develop)
Loading...
Searching...
No Matches
GPVS.f File Reference

gpvs() computes saturation vapor pressure table. More...

Go to the source code of this file.

Functions/Subroutines

real function fpvs (t)
 fpvs() computes saturation vapor pressure.
 
real function fpvs0 (t, nx, c1xpvs0, c2xpvs0, tbpvs0)
 FPVS0() computes saturation vapor pressure.
 
real function fpvsx (t)
 fpvsx() computes saturation vapor pressure.
 
real function fpvsx0 (t)
 fpvsx0() computes saturation vapor pressure.
 
subroutine gpvs
 gpvs computes saturation vapor pressure table as a function of temperature for the table lookup function FPVS.
 

Detailed Description

gpvs() computes saturation vapor pressure table.

Compute saturation vapor pressure table as a function of temperature for the table lookup function FPVS. Exact saturation vapor pressures are calculated in subprogram FPVSX. The current implementation computes a table with a length of 7501 for temperatures ranging from 180.0 to 330.0 Kelvin.

Parameters
[out]pvureal (km) potential vorticity (10**-6*K*m**2/kg/s).

Program History Log

Date Programmer Comments
1982-12-30 N Phillips Initial
1991-05-07 Mark Iredell Made into inlinable function
1994-12-30 Mark Iredell Expand table
1996-02-19 Hong Ice effect
Note
Lookup tables for the saturation vapor pressure w/r/t water & ice.
Author
N Phillips W/NP2
Date
1982-12-30

Definition in file GPVS.f.

Function/Subroutine Documentation

◆ fpvs()

real function fpvs ( real  t)

fpvs() computes saturation vapor pressure.

Note
This function is mostly replaced by FPVSNEW in UPP_PHYSICS.f. The only routine that uses FPVS is CALMICT.f.

Compute saturation vapor pressure from the temperature. A linear interpolation is done between values in a lookup table computed in GPVS. See documentation for FPVSX for details. Input values outside table range are reset to table extrema. The interpolation accuracy is almost 6 decimal places. On the CRAY, FPVS is about 4 times faster than exact calculation. This function should be expanded inline in the calling routine.

Parameters
[in]Treal temperature in Kelvin.
Returns
FPVS real Saturation vapor pressure in kilopascals (CB).

Program History Log

Date Programmer Comments
1982-12-30 N Phillips Initial
1991-05-07 Mark Iredell Made into inlinable function
1994-12-30 Mark Iredell Expand table
1996-02-19 Hong Ice effect
Author
N Phillips W/NP2
Date
1982-12-30

Definition at line 84 of file GPVS.f.

References fpvs().

Referenced by calmict_new(), calmict_old(), and fpvs().

◆ fpvs0()

real function fpvs0 ( real  t,
integer  nx,
real  c1xpvs0,
real  c2xpvs0,
real, dimension(nx)  tbpvs0 
)

FPVS0() computes saturation vapor pressure.

Note
This function is no longer used.
Parameters
Treal Temperature (K).
NXinteger Number of grid cells in the X direction.
C1XPVS0real
C2XPVS0real
TBPVS0array
Returns
FPVS0 real Saturation vapor pressure in kilopascals (CB).

Definition at line 117 of file GPVS.f.

References fpvs0().

Referenced by fpvs0().

◆ fpvsx()

real function fpvsx ( real  t)

fpvsx() computes saturation vapor pressure.

Exactly compute saturation vapor pressure from temperature. The water model assumes a perfect gas, constant specific heats for gas and liquid, and neglects the volume of the liquid. The model does account for the variation of the latent heat of condensation with temperature. The ice option is not included. The Clausius-Clapeyron equation is integrated from the triple point To get the formula

pvs=psatk*(tr**xa)*exp(xb*(1.-tr))

where TR is TTP/T and other values are physical constants This function should be expanded inline in the calling routine.

Parameters
[in]Treal Temperature (K).
Returns
FPVSX real Saturation vapor pressure in kilopascals (CB).

Program History Log

Date Programmer Comments
1982-12-30 N Phillips Initial
1991-05-07 Mark Iredell Made into inlinable function
1994-12-30 Mark Iredell Exact computation
1996-02-19 Hong Ice effect
Author
N Phillips W/NP2
Date
1982-12-30

Definition at line 167 of file GPVS.f.

References fpvsx().

Referenced by fpvsx(), and gpvs().

◆ fpvsx0()

real function fpvsx0 ( real  t)

fpvsx0() computes saturation vapor pressure.

Parameters
Treal Temperature (K).
Returns
FPVSX0 real Saturation vapor pressure in kilopascals (CB).

Definition at line 197 of file GPVS.f.

References fpvsx0().

Referenced by fpvsx0(), and gpvs().

◆ gpvs()

subroutine gpvs

gpvs computes saturation vapor pressure table as a function of temperature for the table lookup function FPVS.

Definition at line 27 of file GPVS.f.

References fpvsx(), and fpvsx0().