FACT++
1.0
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
pal1Atmt.c
Go to the documentation of this file.
1
/*
2
*+
3
* Name:
4
* pal1Atmt
5
6
* Purpose:
7
* Calculate troposphere parameters
8
9
* Language:
10
* Starlink ANSI C
11
12
* Type of Module:
13
* Library routine
14
15
* Invocation:
16
* void pal1Atmt ( double r0, double t0, double alpha, double gamm2,
17
* double delm2, double c1, double c2, double c3,
18
* double c4, double c5, double c6, double r,
19
* double *t, double *dn, double *rdndr );
20
21
* Arguments:
22
* r0 = double (Given)
23
* Height of observer from centre of the Earth (metre)
24
* t0 = double (Given)
25
* Temperature of the observer (K)
26
* alpha = double (Given)
27
* Alpha (see HMNAO paper)
28
* gamm2 = double (Given)
29
* Gamma minus 2 (see HMNAO paper)
30
* delm2 = double (Given)
31
* Delta minus 2 (see HMNAO paper)
32
* c1 = double (Given)
33
* Useful term (see palRefro source)
34
* c2 = double (Given)
35
* Useful term (see palRefro source)
36
* c3 = double (Given)
37
* Useful term (see palRefro source)
38
* c4 = double (Given)
39
* Useful term (see palRefro source)
40
* c5 = double (Given)
41
* Useful term (see palRefro source)
42
* c6 = double (Given)
43
* Useful term (see palRefro source)
44
* r = double (Given)
45
* Current distance from the centre of the Earth (metre)
46
* t = double * (Returned)
47
* Temperature at r (K)
48
* dn = double * (Returned)
49
* Refractive index at r.
50
* rdndr = double * (Returned)
51
* r * rate the refractive index is changing at r.
52
53
* Description:
54
* Refractive index and derivative with respect to height for
55
* the troposphere.
56
57
* Authors:
58
* TIMJ: Tim Jenness (JAC, Hawaii)
59
* PTW: Patrick T. Wallace
60
* {enter_new_authors_here}
61
62
* Notes:
63
* - Internal routine used by palRefro
64
* - Note that in the optical case c5 and c6 are zero.
65
66
* History:
67
* 2012-08-24 (TIMJ):
68
* Initial version, copied from Fortran SLA source.
69
* Adapted with permission from the Fortran SLALIB library.
70
* {enter_further_changes_here}
71
72
* Copyright:
73
* Copyright (C) 2004 Patrick T. Wallace
74
* Copyright (C) 2012 Science and Technology Facilities Council.
75
* All Rights Reserved.
76
77
* Licence:
78
* This program is free software; you can redistribute it and/or
79
* modify it under the terms of the GNU General Public License as
80
* published by the Free Software Foundation; either version 3 of
81
* the License, or (at your option) any later version.
82
*
83
* This program is distributed in the hope that it will be
84
* useful, but WITHOUT ANY WARRANTY; without even the implied
85
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
86
* PURPOSE. See the GNU General Public License for more details.
87
*
88
* You should have received a copy of the GNU General Public License
89
* along with this program; if not, write to the Free Software
90
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
91
* MA 02110-1301, USA.
92
93
* Bugs:
94
* {note_any_bugs_here}
95
*-
96
*/
97
98
#include <math.h>
99
100
#include "
palmac.h
"
101
#include "
pal1.h
"
102
103
void
pal1Atmt
(
double
r0,
double
t0,
double
alpha,
double
gamm2,
104
double
delm2,
double
c1,
double
c2,
double
c3,
double
c4,
105
double
c5,
double
c6,
double
r,
106
double
*
t
,
double
*dn,
double
*rdndr ) {
107
108
double
tt0;
109
double
tt0gm2;
110
double
tt0dm2;
111
112
*t =
DMAX
(
DMIN
( t0 - alpha*(r-r0), 320.0), 100.0 );
113
tt0 = *t / t0;
114
tt0gm2 = pow( tt0, gamm2 );
115
tt0dm2 = pow( tt0, delm2 );
116
*dn = 1.0 + ( c1 * tt0gm2 - ( c2 - c5 / *
t
) * tt0dm2 ) * tt0;
117
*rdndr = r * ( -c3 * tt0gm2 + ( c4 - c6 / tt0 ) * tt0dm2 );
118
119
}
pal1Atmt
void pal1Atmt(double r0, double t0, double alpha, double gamm2, double delm2, double c1, double c2, double c3, double c4, double c5, double c6, double r, double *t, double *dn, double *rdndr)
Definition:
pal1Atmt.c:103
DMIN
#define DMIN(A, B)
Definition:
palmac.h:129
palmac.h
DMAX
#define DMAX(A, B)
Definition:
palmac.h:126
t
TT t
Definition:
test_client.c:26
pal1.h
pal
pal1Atmt.c
Generated on Sun Sep 18 2016 20:50:24 for FACT++ by
1.8.11