from visad.python.JPythonMethods import *
from visad import RealTupleType, FunctionType, FlatField, RealType
from visad import *
from visad.bom import BarbRendererJ3D
from visad.data.mcidas import PointDataAdapter, BaseMapAdapter
from visad.data.mcidas import AreaAdapter
from edu.wisc.ssec.mcidas import *
from subs import *
from solr0v import solr0v
import graph
import struct,StringIO
from ggc import *

def soldetail(latlon):
   k=len(latlon)
   ra=[]
   rs=[]
   t=[]
   rearth = 6378.
   radang = Math.PI/180.
   for i in range(0,k):
      r=[]
      r.append(Math.cos(latlon[i][0]*radang)*Math.cos(latlon[i][1]*radang)*rearth)
      r.append(Math.cos(latlon[i][0]*radang)*Math.sin(latlon[i][1]*radang)*rearth)
      r.append(Math.sin(latlon[i][0]*radang)*rearth)
      print r[0],r[1],r[2]
      ra.append(r)
      rs.append(latlon[i][3])  # the view vector
      t.append(latlon[i][4])

   print ra
   print rs
   print t
   print rearth
   r0v0 = solr0v.solvIt(ra,rs,t,rearth)
   return r0v0

# test it
ll=[]
for k in range(0,2):
   latlon=[]
   latlon.append(float(k))
   latlon.append(30.)
   latlon.append(1.)
   r=[]
   r.append(1.)
   r.append(2.)
   r.append(3.)
   latlon.append(r)
   latlon.append(1.)
   ll.append(latlon)

r0v0=soldetail(ll)