HMI_Logo HMI Ring Diagrams
Pipeline Module Specifications

maproj

Module Version
	1.2	20 VI 2016

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
	This version has been superseded by Version 1.3

	Included in JSOC release 8.12
	Not used in ring-diagram pipelines

	The source code and Makefile are in the JSOC CVS repository
	This version supersedes Version 1.1

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: unspecified

	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: unspecified

	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:
	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
	Trap failed segment reads

	Added nomap option -n for testing

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 17 Sep 2018, 13:50-0700