Converting from coordinates in longitude latitude to heliocentric coordinate system with coordinates in arcsec
Created: 2011-03-02 14:12:21
Last updated: 2011-03-02 14:12:24
Based on lonlat2xy.pro
Converts from Helioprojective-Cartesian Coordinate System to Stonyhurst Heliographic Coordinate System
Based on lonlat2xy.pro
http://hesperia.gsfc.nasa.gov/ssw/gen/idl/solar/lonlat2xy.pro
Converts from Helioprojective-Cartesian Coordinate System to Stonyhurst Heliographic Coordinate System
Preview
Run
Run this Workflow in the Taverna Workbench...
Workflow Components
Authors (1)
Titles (2)
Converting from coordinates in longitude latitude to heliocentric coordinate system with coordinates in arcsec |
Conerts from |
Descriptions (2)
Based on lonlat2xy.pro
Converts from Helioprojective-Cartesian Coordinate System to Stonyhurst Heliographic Coordinate System |
Based on lonlat2xy.pro
http://hesperia.gsfc.nasa.gov/ssw/gen/idl/solar/lonlat2xy.pro
Converts from Helioprojective-Cartesian Coordinate System to Stonyhurst Heliographic Coordinate System |
Dependencies (0)
Inputs (3)
Name |
Description |
dateTime |
date Time string of the format yyyy-mm-ddThh:MM:ss
all input vectors must have the same length
date Time string of the format yyyy-mm-ddThh:MM:ss
|
latitude |
latitude in degrees
all input vectors must have the same length
latitude
all input vectors must have the same length
|
longitude |
longitude in degrees
all input vectors must have the same length
|
Processors (2)
Name |
Type |
Description |
lonlat2xy |
beanshell |
Scriptdouble lon = Double.parseDouble(longitude);
double lat = Double.parseDouble(latitude);
double b0 = Double.parseDouble(b0String);
double sunr = Double.parseDouble(sunrString);
double arcsec2rad = 4.84813681e-6;
lon = lon * Math.PI/180.0; //convert to radians
lat = lat * Math.PI/180.0; //convert to radians
double cb0 = Math.cos(b0);
double clat = Math.cos(lat);
double clon = Math.cos(lon);
double sb0 = Math.sin(b0);
double slat = Math.sin(lat);
double slon = Math.sin(lon);
double crho = clat * cb0 * clon + slat*sb0;
if(crho > 1.0) {
crho = 1.0;
}
if(crho < -1.0) {
crho = -1.0;
}
double rho = Math.acos(crho);
//theta is the positive angle CCW from north
double theta = -1.0 * (Math.atan2(cb0*clat*slon, slat-sb0*crho));
double ssunr = Math.sin(sunr*arcsec2rad);
double rho1 = Math.asin(ssunr*Math.sin(rho));
for (int i=0; i<5;i++){
rho1 = Math.asin(ssunr*Math.sin(rho+rho1));
}
y = rho1*Math.cos(theta)/arcsec2rad;
x = -1.0*(rho1*Math.sin(theta)/arcsec2rad); |
Calculate_Sun_data_from_date__time_factor_of_input_is_ignored_ |
workflow |
|
Beanshells (2)
Name |
Description |
Inputs |
Outputs |
lonlat2xy |
|
b0String
sunrString
longitude
latitude
|
x
y
|
sun_data |
|
dateTime
|
b0
sun_radius
position_angle
|
Outputs (2)
Name |
Description |
x |
x value in arcsec
|
y |
y value in arcsec
|
Datalinks (7)
Source |
Sink |
latitude |
lonlat2xy:latitude |
longitude |
lonlat2xy:longitude |
Calculate_Sun_data_from_date__time_factor_of_input_is_ignored_:b0 |
lonlat2xy:b0String |
Calculate_Sun_data_from_date__time_factor_of_input_is_ignored_:sun_radius |
lonlat2xy:sunrString |
dateTime |
Calculate_Sun_data_from_date__time_factor_of_input_is_ignored_:sun_data_dateTime |
lonlat2xy:x |
x |
lonlat2xy:y |
y |
Uploader
License
All versions of this Workflow are
licensed under:
Version 1
(of 1)
Credits (1)
(People/Groups)
Attributions (0)
(Workflows/Files)
None
Shared with Groups (1)
Featured In Packs (0)
None
Log in to add to one of your Packs
Attributed By (0)
(Workflows/Files)
None
Favourited By (0)
No one
Statistics
Other workflows that use similar services
(0)
There are no workflows in myExperiment that use similar services to this Workflow.
Comments (0)
No comments yet
Log in to make a comment