satprs.f
function satprs(temp)
c
c function satprs evaluates the freon saturation pressure
c as a function of the saturation temperature
c
c saturation temperature temp in (k)
c saturation pressure satprs in (pa)
c
dimension tabl(4,70)
save ilast
data tabl/
& 2.05382200E+02, 6.85270100E+02, 4.25931141E+01, 3.91603829E+00,
& 2.16493300E+02, 1.64198700E+03, 1.29616100E+02, 3.91603829E+00,
& 2.27604400E+02, 3.56562500E+03, 2.16639086E+02, 9.30555058E+00,
& 2.38715600E+02, 7.12159700E+03, 4.23430753E+02, 1.14783026E+01,
& 2.49826700E+02, 1.32434500E+04, 6.78503889E+02, 2.02822110E+01,
& 2.55382200E+02, 1.76388600E+04, 9.03859535E+02, 1.62168467E+01,
& 2.60937800E+02, 2.31608700E+04, 1.08404816E+03, 2.68569113E+01,
& 2.66493300E+02, 3.00122000E+04, 1.38245530E+03, 2.33788606E+01,
& 2.72048900E+02, 3.84141500E+04, 1.64222250E+03, 3.46188905E+01,
& 2.77604400E+02, 4.86059800E+04, 2.02687299E+03, 3.17665385E+01,
& 2.83160000E+02, 6.08469400E+04, 2.37983735E+03, 5.96760929E+01,
& 2.84271100E+02, 6.35648500E+04, 2.51244957E+03, 1.73969486E+01,
& 2.85382200E+02, 6.63779100E+04, 2.55110907E+03, 5.91171817E+01,
& 2.86493300E+02, 6.92854300E+04, 2.68247927E+03, 2.63314273E+01,
& 2.87604400E+02, 7.22984400E+04, 2.74099297E+03, 5.72081253E+01,
& 2.88715600E+02, 7.54148700E+04, 2.86813230E+03, 2.12047639E+01,
& 2.89826700E+02, 7.86278300E+04, 2.91525353E+03, 6.81562233E+01,
& 2.90937800E+02, 8.19511100E+04, 3.06671029E+03, 2.11966637E+01,
& 2.92048900E+02, 8.53847000E+04, 3.11381352E+03, 7.37453351E+01,
& 2.93160000E+02, 8.89355000E+04, 3.27769040E+03, 1.00265403E+01,
& 2.94271100E+02, 9.25897200E+04, 3.29997138E+03, 9.05045703E+01,
& 2.95382200E+02, 9.63680500E+04, 3.50109063E+03, 4.44552870E+00,
& 2.96493300E+02, 1.00263600E+05, 3.51096949E+03, 9.60369809E+01,
& 2.97604400E+02, 1.04283200E+05, 3.72438287E+03, 4.26458242E+00,
& 2.98715600E+02, 1.08427000E+05, 3.73386047E+03, 9.64791075E+01,
& 2.99826700E+02, 1.12694800E+05, 3.94825635E+03, 9.71401636E+00,
& 3.00937800E+02, 1.17093700E+05, 3.96984283E+03, 1.01906216E+02,
& 3.02048900E+02, 1.21630400E+05, 4.19629883E+03, 4.28690782E+00,
& 3.03160000E+02, 1.26298200E+05, 4.20582519E+03, 1.01744213E+02,
& 3.04271100E+02, 1.31096900E+05, 4.43192118E+03, 2.12162464E+01,
& 3.05382200E+02, 1.36047400E+05, 4.47906793E+03, 9.04039860E+01,
& 3.06493300E+02, 1.41135700E+05, 4.67996366E+03, 2.68863598E+01,
& 3.07604400E+02, 1.46368800E+05, 4.73971053E+03, 9.55919660E+01,
& 3.08715600E+02, 1.51753600E+05, 4.95215412E+03, 2.20823048E+01,
& 3.09826700E+02, 1.57283200E+05, 5.00122542E+03, 1.06386265E+02,
& 3.10937800E+02, 1.62971400E+05, 5.23763697E+03, 2.20823048E+01,
& 3.12048900E+02, 1.68818200E+05, 5.28670827E+03, 1.06305263E+02,
& 3.13160000E+02, 1.74823500E+05, 5.52293983E+03, 2.77524182E+01,
& 3.14271100E+02, 1.80994300E+05, 5.58461125E+03, 1.06305263E+02,
& 3.15382200E+02, 1.87330600E+05, 5.82084280E+03, 2.77524182E+01,
& 3.16493300E+02, 1.93832400E+05, 5.88251423E+03, 8.66818291E+01,
& 3.19271100E+02, 2.10841700E+05, 6.36408380E+03, 5.89732804E+01,
& 3.22048900E+02, 2.28974900E+05, 6.69171575E+03, 9.11529576E+01,
& 3.24826700E+02, 2.48266500E+05, 7.19812513E+03, 6.70935088E+01,
& 3.27604400E+02, 2.68778400E+05, 7.57085641E+03, 9.45384574E+01,
& 3.30382200E+02, 2.90538200E+05, 8.09607426E+03, 7.61420117E+01,
& 3.33160000E+02, 3.13615000E+05, 8.51908882E+03, 9.89836663E+01,
& 3.35937800E+02, 3.38043100E+05, 9.06900248E+03, 8.42030027E+01,
& 3.38715600E+02, 3.63884700E+05, 9.53680068E+03, 1.04454216E+02,
& 3.41493300E+02, 3.91181000E+05, 1.01170856E+04, 9.02337918E+01,
& 3.44271100E+02, 4.19980500E+05, 1.06183885E+04, 1.08343249E+02,
& 3.49826700E+02, 4.82316000E+05, 1.18222120E+04, 1.07489192E+02,
& 3.55382200E+02, 5.51311800E+05, 1.30165244E+04, 1.22116791E+02,
& 3.60937800E+02, 6.27395500E+05, 1.43733885E+04, 1.21199169E+02,
& 3.66493300E+02, 7.10987500E+05, 1.57200325E+04, 1.39226654E+02,
& 3.72048900E+02, 8.02618900E+05, 1.72670077E+04, 1.33362330E+02,
& 3.77604400E+02, 9.02661800E+05, 1.87487965E+04, 1.54752435E+02,
& 3.83160000E+02, 1.01159900E+06, 2.04682818E+04, 1.51286589E+02,
& 3.88715600E+02, 1.12998200E+06, 2.21492573E+04, 1.68250119E+02,
& 3.94271100E+02, 1.25822500E+06, 2.40186844E+04, 1.73427850E+02,
& 3.99826700E+02, 1.39701600E+06, 2.59456759E+04, 1.79622631E+02,
& 4.05382200E+02, 1.54670100E+06, 2.79414630E+04, 1.97844465E+02,
& 4.10937800E+02, 1.70803900E+06, 3.01397524E+04, 1.95395530E+02,
& 4.16493300E+02, 1.88151100E+06, 3.23107921E+04, 2.17762207E+02,
& 4.22048900E+02, 2.06773800E+06, 3.47303916E+04, 2.23448233E+02,
& 4.33160000E+02, 2.48121700E+06, 3.96959029E+04, 2.56842228E+02,
& 4.44271100E+02, 2.95399100E+06, 4.54035022E+04, 2.69796526E+02,
& 4.55382200E+02, 3.49178200E+06, 5.13989746E+04, 3.11574037E+02,
& 4.66493300E+02, 4.10134700E+06, 5.83228351E+04, 1.66033050E+03,
& 4.71160000E+02, 4.40968100E+06, 0.00000000E+00, 0.00000000E+00/
data ilast/30/,ntab/70/
c
x=temp
c Start the search from the last point of table use index
c
if (x.le.tabl(1,ilast+1)) then
c
c Search down the table from point of last use
c
do 20 i1=ilast,1,-1
if(x.ge.tabl(1,i1)) go to 60
20 continue
c write(6,*) 'x = ', x, ' is below the table range'
i1=1
go to 60
else
c
c Search up the table from point of last use
c
do 40 i1=ilast+1,ntab-1
if(x.le.tabl(1,i1+1)) go to 60
40 continue
c write(6,*) 'x = ', x, ' is above the table range'
i1=ntab-1
go to 60
endif
c
c Bounding points found, interpolate
c
60 dx=(x-tabl(1,i1))
satprs=tabl(2,i1)+tabl(3,i1)*dx+tabl(4,i1)*dx**2
ilast=i1
120 continue
return
end