HMI_Logo HMI Ring Diagrams
Pipeline Module Specifications

maproj

Module Version
	1.4	15 II 2021

General Description
	maproj takes as its input a dataset of records representing solar
	image data, and produces as its output a corresponding set of records
	representing the data mapped at selected heliographic coordinates.
	The mapping algorithms and parameters are the same as those used in
	mtrack.

Status
	Included in JSOC release 9.41
	Not used in ring-diagram pipelines

	The source code and Makefile are in the JSOC CVS repository

        This version supersedes Version 1.3
	
	Usage
	maproj [-cnorvxGM] in= InputDescriptor out= OutputDescriptor
	    [param= val ...]
	
Flags
	-c	center the output map(s) at the coordinates of the input
			image center(s)
	-n	no output, diagnistics only; for testing
	-s	interpret clon as Stonyhurst for image observation time
			rather than Carrington
	-v	run verbose
	-M	correct for MDI distortion
	-R	convert scalars assuming line-of-sight components of radial vectors

Parameters
	in		the name of an input data set (record selection).
			No default, must be provided.

	out		the name of the output data series, which must already
			exist; record selection is based on runtime parameters
			and the series prime keywords. No default, must be provided.

	clat		the heliographic latitude (in degrees) of the center
			of the mapped image(s). If not specified, map will be centered at
			latitude of image center of first image in input data set.
			Default: Not Specified

	clon		the Carrrington (or Stonyhurst) latitude (in degrees)
			of the mapped image(s). If not specified, map will be centered at
			the Carrington longitude of image center, i.e. at
			Stonyhurst longitude 0, of first image in input data set.
			Default: Not Specified

	scale		the scale of the mapped region(s) at map center, in
			heliographic degrees per pixel. Invalid default, must be
			specified

	map		the mapping projection option; recognized values are:
			carree, Cassini, Mercator, cyleqa, sineqa, gnomonic,
			Postel, stereographic, orthographic, and Lambert.
			Default: orthographic.

	interp		an option for spatial interpolation in the input images;
			recognized values are cubiconv, nearest (for nearest
			neighbor “interpolation”), and bilinear. Default: cubiconv

	grid		if specified, the spacing, in deg, of a grid of latitude
			and longitude lines that will be superimposed on the mapped
			image(s) by setting the values of nearby pixels to NaN.
			Default:  Not Specified

	grid_ratio	the ratio of the width of the optional latitude/longitude
			grid line widthe to their spacing. Default: 0.01

	cols		number of columns in the output map(s) (pixels). Default: 0,
			but at least one of cols and rows must be set non-zero; if
			either is 0, it will be set to the value of the other, so
			that the map(s) will be square.

	rows		number of rows in the output maps (pixels). Default: 0;
			see cols.

	map_pa		the position angle of heliographic north on the output
			maps, measured westward (counter-clockwise), in deg.
			Default: 0.

	bscale		the scaling to be applied to output data stored externally as
			short integers to convert to floating-point values. An invalid
			value, such as the default, implies output scaling according to
			the segment default for the output series. Default: 0.0.

	bzero		the offset to be applied to output data stored externally as
			short integers, after multiplication by bscale, to convert to
			floating-point values. An invalid value, such as the default,
			implies output offsets according to the segment default for the
			output series. Default: Default

	qmask		A 32-bit quantity specifying unacceptable values of the quality
			value of the key associated with qual_key. If the bitwise
			and of qmask and the quality value for an input record is
			non-zero, that record will be skipped (treated as if it
			contained no data).Default: 0x80000000

	qual_key	the key name for a key balue representing a 32-bit “image quality”
			field to be used for image rejection based on bitwise AND
			comparison with the qmask value; Default: Quality

	clon_key	the key name to be used for the key value representing the
			observer Carrington longitude at the time of observation in
			the input data series; Default: CRLN_OBS

	clat_key	the key name to be used for the key value representing the
			observer heliographic latitude at the time of observation in
			the input data series; Default: CRLT_OBS

	rsun_key	the key name to be used for the key value representing the
			solar image semi-diameter (in pixels) at the time of
			observation in the input data series; Default: R_SUN

	apsd_key	the key name to be used for the key value representing the
			apparent solar semi-diameter (in arcsec) at the time of
			observation in the input data series; Default: RSUN_OBS

	dsun_key	the key name to be used for the key value representing the
			distance between the sun and the observer (in m) at the time of
			observation in the input data series; Default: DSUN_OBS

	Request_ID	RequestID for jsoc export management; Default: none

Input Data series class:
	solar image data

Sample input series:
	hmi.V_45s
	mdi.fd_V

Input keys used or inspected:
	qual_key*, clon_key*, crot_key*, clat_key*, rsun_key*, apsd_key*,
	dsun_key*, CUNIT1, CUNIT2, CDELT1, CDELT2, CRPIX1, CRPIX2, R_SUN,
	OBS_ASD, CROTA2, S_MAJOR, S_MINOR, S_ANGLE

	* specified as module argument

Output Data series class:
	mapped image data

Output keys set (if possible):
	WCSNAME, WCSAXES, CTYPE1,  CTYPE2, CUNIT1, CUNIT2, CRPIX1, CRPIX2,
	CRVAL1, CRVAL2, CDELT1, CDELT2, PC1_1, PC1_2, PC2_1, PC2_2,
	LonHG, LatHG, MapProj, MapScale, Width, Height, Size, Map_PA, RSunRef,
	Interp, Module, BLD_VERS, Created, Source, Input

Sample output series:
	su_rsb.genmap

Changes from Previous Version
	– Added option for removal of limb darkening before mapping

	– Fixed bug occurring when no appropriate input segments found

	– Added trap for NaN values in map target locations which can be
	returned in rare circumstances by version 10 of plane2sphere() without
	setting the offsun flag to the interpolation routines

Bugs in current version
	If not included as part of the input dataset specification, the data segment
	mapped will be the 2-dimensional segment with the lowest segment number.
	If there are multiple data segments of rank 2 in the output series, a
	warning is generated.

	There is no provision for detrending prior to mapping.

	Image geometry for cases with unequal scales CDELTi is not to be trusted

	The image foreshortening corrections are appropriate for 1 AU, independent
	of DSUN_OBS.

	The input of the ellipse position angle has not been verified, but then
	neither has the correction for ellipticity of the image altogether.

	The input data are unconditionally read in as floats (single-precision).

	There is evidently no WCS conventional name for the Cassini-Soldner
	(transverse plate carree) projection; CAS is arbitrarily used; the
	alternative would be to interchange HGLT and HGLN, but that would
	necessitate a change in the position angle.

	Only mapping from image (plate) coordinates is supported; there is no
	provision for remapping between different projections.

Valid HTML 4.01 Transitional HMI Ring Diagrams 5 Nov 2021, 15:46-0700