source: trunk/FACT++/sofa/src/sofa.h@ 18375

Last change on this file since 18375 was 18346, checked in by tbretz, 11 years ago
File size: 24.0 KB
Line 
1#ifndef SOFAHDEF
2#define SOFAHDEF
3
4/*
5** - - - - - - -
6** s o f a . h
7** - - - - - - -
8**
9** Prototype function declarations for SOFA library.
10**
11** This file is part of the International Astronomical Union's
12** SOFA (Standards Of Fundamental Astronomy) software collection.
13**
14** This revision: 2015 January 28
15**
16** SOFA release 2015-02-09
17**
18** Copyright (C) 2015 IAU SOFA Board. See notes at end.
19*/
20
21#include "sofam.h"
22#include "math.h"
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28/* Astronomy/Calendars */
29int iauCal2jd(int iy, int im, int id, double *djm0, double *djm);
30double iauEpb(double dj1, double dj2);
31void iauEpb2jd(double epb, double *djm0, double *djm);
32double iauEpj(double dj1, double dj2);
33void iauEpj2jd(double epj, double *djm0, double *djm);
34int iauJd2cal(double dj1, double dj2,
35 int *iy, int *im, int *id, double *fd);
36int iauJdcalf(int ndp, double dj1, double dj2, int iymdf[4]);
37
38/* Astronomy/Astrometry */
39void iauAb(double pnat[3], double v[3], double s, double bm1,
40 double ppr[3]);
41void iauApcg(double date1, double date2,
42 double ebpv[2][3], double ehp[3],
43 iauASTROM *astrom);
44void iauApcg13(double date1, double date2, iauASTROM *astrom);
45void iauApci(double date1, double date2,
46 double ebpv[2][3], double ehp[3],
47 double x, double y, double s,
48 iauASTROM *astrom);
49void iauApci13(double date1, double date2,
50 iauASTROM *astrom, double *eo);
51void iauApco(double date1, double date2,
52 double ebpv[2][3], double ehp[3],
53 double x, double y, double s, double theta,
54 double elong, double phi, double hm,
55 double xp, double yp, double sp,
56 double refa, double refb,
57 iauASTROM *astrom);
58int iauApco13(double utc1, double utc2, double dut1,
59 double elong, double phi, double hm, double xp, double yp,
60 double phpa, double tc, double rh, double wl,
61 iauASTROM *astrom, double *eo);
62void iauApcs(double date1, double date2, double pv[2][3],
63 double ebpv[2][3], double ehp[3],
64 iauASTROM *astrom);
65void iauApcs13(double date1, double date2, double pv[2][3],
66 iauASTROM *astrom);
67void iauAper(double theta, iauASTROM *astrom);
68void iauAper13(double ut11, double ut12, iauASTROM *astrom);
69void iauApio(double sp, double theta,
70 double elong, double phi, double hm, double xp, double yp,
71 double refa, double refb,
72 iauASTROM *astrom);
73int iauApio13(double utc1, double utc2, double dut1,
74 double elong, double phi, double hm, double xp, double yp,
75 double phpa, double tc, double rh, double wl,
76 iauASTROM *astrom);
77void iauAtci13(double rc, double dc,
78 double pr, double pd, double px, double rv,
79 double date1, double date2,
80 double *ri, double *di, double *eo);
81void iauAtciq(double rc, double dc, double pr, double pd,
82 double px, double rv, iauASTROM *astrom,
83 double *ri, double *di);
84void iauAtciqn(double rc, double dc, double pr, double pd,
85 double px, double rv, iauASTROM *astrom,
86 int n, iauLDBODY b[], double *ri, double *di);
87void iauAtciqz(double rc, double dc, iauASTROM *astrom,
88 double *ri, double *di);
89int iauAtco13(double rc, double dc,
90 double pr, double pd, double px, double rv,
91 double utc1, double utc2, double dut1,
92 double elong, double phi, double hm, double xp, double yp,
93 double phpa, double tc, double rh, double wl,
94 double *aob, double *zob, double *hob,
95 double *dob, double *rob, double *eo);
96void iauAtic13(double ri, double di,
97 double date1, double date2,
98 double *rc, double *dc, double *eo);
99void iauAticq(double ri, double di, iauASTROM *astrom,
100 double *rc, double *dc);
101void iauAticqn(double ri, double di, iauASTROM *astrom,
102 int n, iauLDBODY b[], double *rc, double *dc);
103int iauAtio13(double ri, double di,
104 double utc1, double utc2, double dut1,
105 double elong, double phi, double hm, double xp, double yp,
106 double phpa, double tc, double rh, double wl,
107 double *aob, double *zob, double *hob,
108 double *dob, double *rob);
109void iauAtioq(double ri, double di, iauASTROM *astrom,
110 double *aob, double *zob,
111 double *hob, double *dob, double *rob);
112int iauAtoc13(const char *type, double ob1, double ob2,
113 double utc1, double utc2, double dut1,
114 double elong, double phi, double hm, double xp, double yp,
115 double phpa, double tc, double rh, double wl,
116 double *rc, double *dc);
117int iauAtoi13(const char *type, double ob1, double ob2,
118 double utc1, double utc2, double dut1,
119 double elong, double phi, double hm, double xp, double yp,
120 double phpa, double tc, double rh, double wl,
121 double *ri, double *di);
122void iauAtoiq(const char *type,
123 double ob1, double ob2, iauASTROM *astrom,
124 double *ri, double *di);
125void iauLd(double bm, double p[3], double q[3], double e[3],
126 double em, double dlim, double p1[3]);
127void iauLdn(int n, iauLDBODY b[], double ob[3], double sc[3],
128 double sn[3]);
129void iauLdsun(double p[3], double e[3], double em, double p1[3]);
130void iauPmpx(double rc, double dc, double pr, double pd,
131 double px, double rv, double pmt, double pob[3],
132 double pco[3]);
133int iauPmsafe(double ra1, double dec1, double pmr1, double pmd1,
134 double px1, double rv1,
135 double ep1a, double ep1b, double ep2a, double ep2b,
136 double *ra2, double *dec2, double *pmr2, double *pmd2,
137 double *px2, double *rv2);
138void iauPvtob(double elong, double phi, double height, double xp,
139 double yp, double sp, double theta, double pv[2][3]);
140void iauRefco(double phpa, double tc, double rh, double wl,
141 double *refa, double *refb);
142
143/* Astronomy/Ephemerides */
144int iauEpv00(double date1, double date2,
145 double pvh[2][3], double pvb[2][3]);
146int iauPlan94(double date1, double date2, int np, double pv[2][3]);
147
148/* Astronomy/FundamentalArgs */
149double iauFad03(double t);
150double iauFae03(double t);
151double iauFaf03(double t);
152double iauFaju03(double t);
153double iauFal03(double t);
154double iauFalp03(double t);
155double iauFama03(double t);
156double iauFame03(double t);
157double iauFane03(double t);
158double iauFaom03(double t);
159double iauFapa03(double t);
160double iauFasa03(double t);
161double iauFaur03(double t);
162double iauFave03(double t);
163
164/* Astronomy/PrecNutPolar */
165void iauBi00(double *dpsibi, double *depsbi, double *dra);
166void iauBp00(double date1, double date2,
167 double rb[3][3], double rp[3][3], double rbp[3][3]);
168void iauBp06(double date1, double date2,
169 double rb[3][3], double rp[3][3], double rbp[3][3]);
170void iauBpn2xy(double rbpn[3][3], double *x, double *y);
171void iauC2i00a(double date1, double date2, double rc2i[3][3]);
172void iauC2i00b(double date1, double date2, double rc2i[3][3]);
173void iauC2i06a(double date1, double date2, double rc2i[3][3]);
174void iauC2ibpn(double date1, double date2, double rbpn[3][3],
175 double rc2i[3][3]);
176void iauC2ixy(double date1, double date2, double x, double y,
177 double rc2i[3][3]);
178void iauC2ixys(double x, double y, double s, double rc2i[3][3]);
179void iauC2t00a(double tta, double ttb, double uta, double utb,
180 double xp, double yp, double rc2t[3][3]);
181void iauC2t00b(double tta, double ttb, double uta, double utb,
182 double xp, double yp, double rc2t[3][3]);
183void iauC2t06a(double tta, double ttb, double uta, double utb,
184 double xp, double yp, double rc2t[3][3]);
185void iauC2tcio(double rc2i[3][3], double era, double rpom[3][3],
186 double rc2t[3][3]);
187void iauC2teqx(double rbpn[3][3], double gst, double rpom[3][3],
188 double rc2t[3][3]);
189void iauC2tpe(double tta, double ttb, double uta, double utb,
190 double dpsi, double deps, double xp, double yp,
191 double rc2t[3][3]);
192void iauC2txy(double tta, double ttb, double uta, double utb,
193 double x, double y, double xp, double yp,
194 double rc2t[3][3]);
195double iauEo06a(double date1, double date2);
196double iauEors(double rnpb[3][3], double s);
197void iauFw2m(double gamb, double phib, double psi, double eps,
198 double r[3][3]);
199void iauFw2xy(double gamb, double phib, double psi, double eps,
200 double *x, double *y);
201void iauNum00a(double date1, double date2, double rmatn[3][3]);
202void iauNum00b(double date1, double date2, double rmatn[3][3]);
203void iauNum06a(double date1, double date2, double rmatn[3][3]);
204void iauNumat(double epsa, double dpsi, double deps, double rmatn[3][3]);
205void iauNut00a(double date1, double date2, double *dpsi, double *deps);
206void iauNut00b(double date1, double date2, double *dpsi, double *deps);
207void iauNut06a(double date1, double date2, double *dpsi, double *deps);
208void iauNut80(double date1, double date2, double *dpsi, double *deps);
209void iauNutm80(double date1, double date2, double rmatn[3][3]);
210double iauObl06(double date1, double date2);
211double iauObl80(double date1, double date2);
212void iauP06e(double date1, double date2,
213 double *eps0, double *psia, double *oma, double *bpa,
214 double *bqa, double *pia, double *bpia,
215 double *epsa, double *chia, double *za, double *zetaa,
216 double *thetaa, double *pa,
217 double *gam, double *phi, double *psi);
218void iauPb06(double date1, double date2,
219 double *bzeta, double *bz, double *btheta);
220void iauPfw06(double date1, double date2,
221 double *gamb, double *phib, double *psib, double *epsa);
222void iauPmat00(double date1, double date2, double rbp[3][3]);
223void iauPmat06(double date1, double date2, double rbp[3][3]);
224void iauPmat76(double date1, double date2, double rmatp[3][3]);
225void iauPn00(double date1, double date2, double dpsi, double deps,
226 double *epsa,
227 double rb[3][3], double rp[3][3], double rbp[3][3],
228 double rn[3][3], double rbpn[3][3]);
229void iauPn00a(double date1, double date2,
230 double *dpsi, double *deps, double *epsa,
231 double rb[3][3], double rp[3][3], double rbp[3][3],
232 double rn[3][3], double rbpn[3][3]);
233void iauPn00b(double date1, double date2,
234 double *dpsi, double *deps, double *epsa,
235 double rb[3][3], double rp[3][3], double rbp[3][3],
236 double rn[3][3], double rbpn[3][3]);
237void iauPn06(double date1, double date2, double dpsi, double deps,
238 double *epsa,
239 double rb[3][3], double rp[3][3], double rbp[3][3],
240 double rn[3][3], double rbpn[3][3]);
241void iauPn06a(double date1, double date2,
242 double *dpsi, double *deps, double *epsa,
243 double rb[3][3], double rp[3][3], double rbp[3][3],
244 double rn[3][3], double rbpn[3][3]);
245void iauPnm00a(double date1, double date2, double rbpn[3][3]);
246void iauPnm00b(double date1, double date2, double rbpn[3][3]);
247void iauPnm06a(double date1, double date2, double rnpb[3][3]);
248void iauPnm80(double date1, double date2, double rmatpn[3][3]);
249void iauPom00(double xp, double yp, double sp, double rpom[3][3]);
250void iauPr00(double date1, double date2,
251 double *dpsipr, double *depspr);
252void iauPrec76(double date01, double date02,
253 double date11, double date12,
254 double *zeta, double *z, double *theta);
255double iauS00(double date1, double date2, double x, double y);
256double iauS00a(double date1, double date2);
257double iauS00b(double date1, double date2);
258double iauS06(double date1, double date2, double x, double y);
259double iauS06a(double date1, double date2);
260double iauSp00(double date1, double date2);
261void iauXy06(double date1, double date2, double *x, double *y);
262void iauXys00a(double date1, double date2,
263 double *x, double *y, double *s);
264void iauXys00b(double date1, double date2,
265 double *x, double *y, double *s);
266void iauXys06a(double date1, double date2,
267 double *x, double *y, double *s);
268
269/* Astronomy/RotationAndTime */
270double iauEe00(double date1, double date2, double epsa, double dpsi);
271double iauEe00a(double date1, double date2);
272double iauEe00b(double date1, double date2);
273double iauEe06a(double date1, double date2);
274double iauEect00(double date1, double date2);
275double iauEqeq94(double date1, double date2);
276double iauEra00(double dj1, double dj2);
277double iauGmst00(double uta, double utb, double tta, double ttb);
278double iauGmst06(double uta, double utb, double tta, double ttb);
279double iauGmst82(double dj1, double dj2);
280double iauGst00a(double uta, double utb, double tta, double ttb);
281double iauGst00b(double uta, double utb);
282double iauGst06(double uta, double utb, double tta, double ttb,
283 double rnpb[3][3]);
284double iauGst06a(double uta, double utb, double tta, double ttb);
285double iauGst94(double uta, double utb);
286
287/* Astronomy/SpaceMotion */
288int iauPvstar(double pv[2][3], double *ra, double *dec,
289 double *pmr, double *pmd, double *px, double *rv);
290int iauStarpv(double ra, double dec,
291 double pmr, double pmd, double px, double rv,
292 double pv[2][3]);
293
294/* Astronomy/StarCatalogs */
295void iauFk52h(double r5, double d5,
296 double dr5, double dd5, double px5, double rv5,
297 double *rh, double *dh,
298 double *drh, double *ddh, double *pxh, double *rvh);
299void iauFk5hip(double r5h[3][3], double s5h[3]);
300void iauFk5hz(double r5, double d5, double date1, double date2,
301 double *rh, double *dh);
302void iauH2fk5(double rh, double dh,
303 double drh, double ddh, double pxh, double rvh,
304 double *r5, double *d5,
305 double *dr5, double *dd5, double *px5, double *rv5);
306void iauHfk5z(double rh, double dh, double date1, double date2,
307 double *r5, double *d5, double *dr5, double *dd5);
308int iauStarpm(double ra1, double dec1,
309 double pmr1, double pmd1, double px1, double rv1,
310 double ep1a, double ep1b, double ep2a, double ep2b,
311 double *ra2, double *dec2,
312 double *pmr2, double *pmd2, double *px2, double *rv2);
313
314/* Astronomy/GalacticCoordinates */
315void iauG2icrs ( double dl, double db, double *dr, double *dd );
316void iauIcrs2g ( double dr, double dd, double *dl, double *db );
317
318/* Astronomy/GeodeticGeocentric */
319int iauEform(int n, double *a, double *f);
320int iauGc2gd(int n, double xyz[3],
321 double *elong, double *phi, double *height);
322int iauGc2gde(double a, double f, double xyz[3],
323 double *elong, double *phi, double *height);
324int iauGd2gc(int n, double elong, double phi, double height,
325 double xyz[3]);
326int iauGd2gce(double a, double f,
327 double elong, double phi, double height, double xyz[3]);
328
329/* Astronomy/Timescales */
330int iauD2dtf(const char *scale, int ndp, double d1, double d2,
331 int *iy, int *im, int *id, int ihmsf[4]);
332int iauDat(int iy, int im, int id, double fd, double *deltat);
333double iauDtdb(double date1, double date2,
334 double ut, double elong, double u, double v);
335int iauDtf2d(const char *scale, int iy, int im, int id,
336 int ihr, int imn, double sec, double *d1, double *d2);
337int iauTaitt(double tai1, double tai2, double *tt1, double *tt2);
338int iauTaiut1(double tai1, double tai2, double dta,
339 double *ut11, double *ut12);
340int iauTaiutc(double tai1, double tai2, double *utc1, double *utc2);
341int iauTcbtdb(double tcb1, double tcb2, double *tdb1, double *tdb2);
342int iauTcgtt(double tcg1, double tcg2, double *tt1, double *tt2);
343int iauTdbtcb(double tdb1, double tdb2, double *tcb1, double *tcb2);
344int iauTdbtt(double tdb1, double tdb2, double dtr,
345 double *tt1, double *tt2);
346int iauTttai(double tt1, double tt2, double *tai1, double *tai2);
347int iauTttcg(double tt1, double tt2, double *tcg1, double *tcg2);
348int iauTttdb(double tt1, double tt2, double dtr,
349 double *tdb1, double *tdb2);
350int iauTtut1(double tt1, double tt2, double dt,
351 double *ut11, double *ut12);
352int iauUt1tai(double ut11, double ut12, double dta,
353 double *tai1, double *tai2);
354int iauUt1tt(double ut11, double ut12, double dt,
355 double *tt1, double *tt2);
356int iauUt1utc(double ut11, double ut12, double dut1,
357 double *utc1, double *utc2);
358int iauUtctai(double utc1, double utc2, double *tai1, double *tai2);
359int iauUtcut1(double utc1, double utc2, double dut1,
360 double *ut11, double *ut12);
361
362/* VectorMatrix/AngleOps */
363void iauA2af(int ndp, double angle, char *sign, int idmsf[4]);
364void iauA2tf(int ndp, double angle, char *sign, int ihmsf[4]);
365int iauAf2a(char s, int ideg, int iamin, double asec, double *rad);
366double iauAnp(double a);
367double iauAnpm(double a);
368void iauD2tf(int ndp, double days, char *sign, int ihmsf[4]);
369int iauTf2a(char s, int ihour, int imin, double sec, double *rad);
370int iauTf2d(char s, int ihour, int imin, double sec, double *days);
371
372/* VectorMatrix/BuildRotations */
373void iauRx(double phi, double r[3][3]);
374void iauRy(double theta, double r[3][3]);
375void iauRz(double psi, double r[3][3]);
376
377/* VectorMatrix/CopyExtendExtract */
378void iauCp(double p[3], double c[3]);
379void iauCpv(double pv[2][3], double c[2][3]);
380void iauCr(double r[3][3], double c[3][3]);
381void iauP2pv(double p[3], double pv[2][3]);
382void iauPv2p(double pv[2][3], double p[3]);
383
384/* VectorMatrix/Initialization */
385void iauIr(double r[3][3]);
386void iauZp(double p[3]);
387void iauZpv(double pv[2][3]);
388void iauZr(double r[3][3]);
389
390/* VectorMatrix/MatrixOps */
391void iauRxr(double a[3][3], double b[3][3], double atb[3][3]);
392void iauTr(double r[3][3], double rt[3][3]);
393
394/* VectorMatrix/MatrixVectorProducts */
395void iauRxp(double r[3][3], double p[3], double rp[3]);
396void iauRxpv(double r[3][3], double pv[2][3], double rpv[2][3]);
397void iauTrxp(double r[3][3], double p[3], double trp[3]);
398void iauTrxpv(double r[3][3], double pv[2][3], double trpv[2][3]);
399
400/* VectorMatrix/RotationVectors */
401void iauRm2v(double r[3][3], double w[3]);
402void iauRv2m(double w[3], double r[3][3]);
403
404/* VectorMatrix/SeparationAndAngle */
405double iauPap(double a[3], double b[3]);
406double iauPas(double al, double ap, double bl, double bp);
407double iauSepp(double a[3], double b[3]);
408double iauSeps(double al, double ap, double bl, double bp);
409
410/* VectorMatrix/SphericalCartesian */
411void iauC2s(double p[3], double *theta, double *phi);
412void iauP2s(double p[3], double *theta, double *phi, double *r);
413void iauPv2s(double pv[2][3],
414 double *theta, double *phi, double *r,
415 double *td, double *pd, double *rd);
416void iauS2c(double theta, double phi, double c[3]);
417void iauS2p(double theta, double phi, double r, double p[3]);
418void iauS2pv(double theta, double phi, double r,
419 double td, double pd, double rd,
420 double pv[2][3]);
421
422/* VectorMatrix/VectorOps */
423double iauPdp(double a[3], double b[3]);
424double iauPm(double p[3]);
425void iauPmp(double a[3], double b[3], double amb[3]);
426void iauPn(double p[3], double *r, double u[3]);
427void iauPpp(double a[3], double b[3], double apb[3]);
428void iauPpsp(double a[3], double s, double b[3], double apsb[3]);
429void iauPvdpv(double a[2][3], double b[2][3], double adb[2]);
430void iauPvm(double pv[2][3], double *r, double *s);
431void iauPvmpv(double a[2][3], double b[2][3], double amb[2][3]);
432void iauPvppv(double a[2][3], double b[2][3], double apb[2][3]);
433void iauPvu(double dt, double pv[2][3], double upv[2][3]);
434void iauPvup(double dt, double pv[2][3], double p[3]);
435void iauPvxpv(double a[2][3], double b[2][3], double axb[2][3]);
436void iauPxp(double a[3], double b[3], double axb[3]);
437void iauS2xpv(double s1, double s2, double pv[2][3], double spv[2][3]);
438void iauSxp(double s, double p[3], double sp[3]);
439void iauSxpv(double s, double pv[2][3], double spv[2][3]);
440
441#ifdef __cplusplus
442}
443#endif
444
445#endif
446
447/*----------------------------------------------------------------------
448**
449** Copyright (C) 2015
450** Standards Of Fundamental Astronomy Board
451** of the International Astronomical Union.
452**
453** =====================
454** SOFA Software License
455** =====================
456**
457** NOTICE TO USER:
458**
459** BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND
460** CONDITIONS WHICH APPLY TO ITS USE.
461**
462** 1. The Software is owned by the IAU SOFA Board ("SOFA").
463**
464** 2. Permission is granted to anyone to use the SOFA software for any
465** purpose, including commercial applications, free of charge and
466** without payment of royalties, subject to the conditions and
467** restrictions listed below.
468**
469** 3. You (the user) may copy and distribute SOFA source code to others,
470** and use and adapt its code and algorithms in your own software,
471** on a world-wide, royalty-free basis. That portion of your
472** distribution that does not consist of intact and unchanged copies
473** of SOFA source code files is a "derived work" that must comply
474** with the following requirements:
475**
476** a) Your work shall be marked or carry a statement that it
477** (i) uses routines and computations derived by you from
478** software provided by SOFA under license to you; and
479** (ii) does not itself constitute software provided by and/or
480** endorsed by SOFA.
481**
482** b) The source code of your derived work must contain descriptions
483** of how the derived work is based upon, contains and/or differs
484** from the original SOFA software.
485**
486** c) The names of all routines in your derived work shall not
487** include the prefix "iau" or "sofa" or trivial modifications
488** thereof such as changes of case.
489**
490** d) The origin of the SOFA components of your derived work must
491** not be misrepresented; you must not claim that you wrote the
492** original software, nor file a patent application for SOFA
493** software or algorithms embedded in the SOFA software.
494**
495** e) These requirements must be reproduced intact in any source
496** distribution and shall apply to anyone to whom you have
497** granted a further right to modify the source code of your
498** derived work.
499**
500** Note that, as originally distributed, the SOFA software is
501** intended to be a definitive implementation of the IAU standards,
502** and consequently third-party modifications are discouraged. All
503** variations, no matter how minor, must be explicitly marked as
504** such, as explained above.
505**
506** 4. You shall not cause the SOFA software to be brought into
507** disrepute, either by misuse, or use for inappropriate tasks, or
508** by inappropriate modification.
509**
510** 5. The SOFA software is provided "as is" and SOFA makes no warranty
511** as to its use or performance. SOFA does not and cannot warrant
512** the performance or results which the user may obtain by using the
513** SOFA software. SOFA makes no warranties, express or implied, as
514** to non-infringement of third party rights, merchantability, or
515** fitness for any particular purpose. In no event will SOFA be
516** liable to the user for any consequential, incidental, or special
517** damages, including any lost profits or lost savings, even if a
518** SOFA representative has been advised of such damages, or for any
519** claim by any third party.
520**
521** 6. The provision of any version of the SOFA software under the terms
522** and conditions specified herein does not imply that future
523** versions will also be made available under the same terms and
524** conditions.
525*
526** In any published work or commercial product which uses the SOFA
527** software directly, acknowledgement (see www.iausofa.org) is
528** appreciated.
529**
530** Correspondence concerning SOFA software should be addressed as
531** follows:
532**
533** By email: sofa@ukho.gov.uk
534** By post: IAU SOFA Center
535** HM Nautical Almanac Office
536** UK Hydrographic Office
537** Admiralty Way, Taunton
538** Somerset, TA1 2DN
539** United Kingdom
540**
541**--------------------------------------------------------------------*/
Note: See TracBrowser for help on using the repository browser.