-
Notifications
You must be signed in to change notification settings - Fork 106
/
curve2mask.1
100 lines (100 loc) · 3.35 KB
/
curve2mask.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
.\" Automatically generated by Pandoc 2.1.3
.\"
.TH "curve2mask" "1" "2017\-11\-28" "Fortran 95" "SHTOOLS 4.2"
.hy
.SH Curve2Mask
.PP
Given a set of latitude and longitude coordinates representing a closed
curve, output a gridded binary mask.
.SH Usage
.PP
call Curve2Mask (\f[C]mask_dh\f[], \f[C]n\f[], \f[C]sampling\f[],
\f[C]profile\f[], \f[C]nprofile\f[], \f[C]np\f[],
\f[C]centralmeridian\f[], \f[C]exitstatus\f[])
.SH Parameters
.TP
.B \f[C]dh_mask\f[] : output, integer, dimension (\f[C]n\f[], \f[C]n\f[]*\f[C]sampling\f[])
A Driscoll and Healy (1994) sampled grid describing the concentration
region R.
All elements on output will either be 1 (for inside the concentration
region) or 0 (for outside R).
.RS
.RE
.TP
.B \f[C]n\f[] : input, integer
The number of latitudinal samples in \f[C]dh_mask\f[].
The effective spherical harmonic bandwidth of this grid is
\f[C]L=n/2\-1\f[].
.RS
.RE
.TP
.B \f[C]sampling\f[] : input, integer
For 1, \f[C]dh_mask\f[] has \f[C]n\f[] x \f[C]n\f[] samples.
For 2, \f[C]dh_mask\f[] has \f[C]n\f[] x \f[C]2n\f[] samples.
.RS
.RE
.TP
.B \f[C]profile\f[] : input, real*8, dimension (\f[C]nprofile\f[], 2)
List of latitude (:,1) and longitude (:,2) coordinates in degrees
specifying a single closed curve.
.RS
.RE
.TP
.B \f[C]nprofile\f[] : input, integer
The number of coordinates in the curve \f[C]profile\f[].
.RS
.RE
.TP
.B \f[C]np\f[] : input, integer
The value of the returned mask at the North pole (90N, 0E).
If the North pole is outside of the concentration region, set this to 0;
if it is inside the concentration region, set this to 1.
.RS
.RE
.TP
.B \f[C]centralmeridian\f[] : input, optional, integer, default = 0
If 1, the curve is assumed to pass through the central meridian: passing
from < 360 degrees to > 0 degrees.
The curve makes a complete circle about the planet in longitude.
.RS
.RE
.TP
.B \f[C]exitstatus\f[] : output, optional, integer
If present, instead of executing a STOP when an error is encountered,
the variable exitstatus will be returned describing the error.
0 = No errors; 1 = Improper dimensions of input array; 2 = Improper
bounds for input variable; 3 = Error allocating memory; 4 = File IO
error.
.RS
.RE
.SH Description
.PP
\f[C]Curve2Mask\f[] will take a list of latitude and longitude
coordinates that represent a single closed curve, and output a mask
\f[C]mask_dh\f[] that contains 1s and 0s where the grid nodes are inside
and outside of the curve, respectively.
\f[C]mask_dh\f[] must be sampled according to the Driscoll and Healy
(1994) sampling theorem with \f[C]n\f[] samples in latitude, and either
possess \f[C]n\f[] samples in longitude (\f[C]sampling=1\f[]) or
\f[C]2n\f[] samples in longitude (\f[C]sampling=2\f[]).
It is necessary to specify a single point as being inside or outside of
the curve, and for this the value at the North pole (90N, 0E) must be
specified as either 0 or 1.
.PP
This routine saves the three\-term recursion factors and square roots of
the integers the first time being called.
If subsequent calls possess the same value of \f[C]lmax\f[], these will
not be recomputed.
If you wish to deallocate this memory, which is an array of length
\f[C](lmax+1)*(lmax+2)\f[], recall this routine with \f[C]lmax=\-1\f[].
.SH References
.PP
Driscoll, J.R.
and D.M.
Healy, Computing Fourier transforms and convolutions on the 2\-sphere,
Adv.
Appl.
Math., 15, 202\-250, 1994.
.SH See also
.PP
shreturntapersmap, computedmap