irfpy.jdc.fov0
¶
JDC fov module.
As of I know only little on JDC, I made this module for a draft use.
Thus, I added 0
in the trail of the module.
FOV 90x360 for each sensor with resolution of 5.5x19.5 means the 16x16 separation, as a maximum, while I doubt such high number of bins. But for the draft purpose, I just implement following the number. The implementation will be changed as the sensor design progresses.
-
irfpy.jdc.fov0.
elev_pix_center
(nel)[source]¶ Elevation pixel center in degrees.
The JDC has two units. Number definition is, preliminary, 0 to 15 for JDC on nadir unit and 16 to 31 for zenith. Ch-0 corresponds to the nadir-looking and 31 for zenith looking.
The definition of angle, \(\theta\) is 0 for zenith looking and 180 is nadir looking.
Thus, the expression is
\[\theta = (180. / 32.) * (31 - nel) + (180. / 64.)\]Note that the
nel
is usuallyint
ornp.array
withdtype=np.int
, butfloat
may be allowed for special use.- Parameters
nel (
int
,float
ornp.array
.) – Number of elevation. 0 to 31.- Returns
The elevation angle.
- Return type
np.array
>>> print(elev_pix_center(0)) 177.1875 >>> print(elev_pix_center(8)) 132.1875 >>> print(elev_pix_center(31)) 2.8125 >>> print(elev_pix_center([31, 23, 0])) [ 2.8125 47.8125 177.1875]
Note also that the returned type is np.array object, even the given parameter is a scalar. In this case, np.array object with shape
()
is returned.>>> print(elev_pix_center(8).shape) ()
-
irfpy.jdc.fov0.
elev_pix_fwhm
(nel)[source]¶ Return the FWHM
For draft, I just return 5.5 for simplicity.
-
irfpy.jdc.fov0.
azim_pix_center
(naz)[source]¶ Return the azimuthal angle for the given channel number(s).
Similar to
elev_pix_center()
, the azimuthal angle, \(\phi\) is returned.\[\phi = naz * 22.5 + 11.25\]>>> print(azim_pix_center(0)) 11.25 >>> print(azim_pix_center(15)) 348.75 >>> print(azim_pix_center([6, 7, 8])) [146.25 168.75 191.25]