[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[IDV #BVE-541882]: vector divided by data



Hi Alberto-

 Thanks Don... take your time. You've already got to deserve being
> cited/thanked on my manuscript.
> 
> Regards form the still un-iphoned Spain.

No progress on this yet and I'll be out until next week.  I'll
get back to it then.

Don 
> Alberto.
> 
> El 07/03/2008, a las 13:41, Unidata IDV Support escribió:
> 
> > Hi Alberto-
> >
> > I will get back to you next week on this.
> >
> > Don
> >
> >> Dearest Don (Ok... I guess it's always Don Murray behind the
> >> curtains :-) ). Thanks God.
> >>
> >> Seriously, thanks for your offer beforehand... I definitely think I
> >> need your help... Let me tell you I'm planning to include your name
> >> on
> >> the citations, references and thanks chapters of my research work...
> >> If you kindly allow me to :-) You can eventually include a reference
> >> to my work in your CV if you like.
> >>
> >> Ok...I'm trying to derive the Ekman vectors of the very first Ekman
> >> layer. Winds blowing over the sea induce water currents which are
> >> always 45º to the right of the wind forcing vector: that simple. The
> >> module (induced water current speed) is obtained with this simple
> >> expression:
> >>
> >> V0 = 0.0127·W/sqrt(sen(L))   where
> >>
> >> 0.0127 is a dimensionless parameter
> >> W is the wind vector module, W=sqrt(U10*U10+V10*V10)  in m/s
> >> sqrt(sen(L)) is the sine of the Latitude, square rooted
> >> (dimensionless)
> >>
> >> The Ekman vector (water current speed) is then builded in this simply
> >> way: V = (V0*cos(45), V0*sin(45))   (just a 45º vector bended to the
> >> right with respect to to the origin of coordinates and with module
> >> V0). V is build with makeTrueVector().
> >>
> >> BUT... V must always be 45º bended to the right of the wind vector
> >> W(U10,V10)  (and not the origin of coordinates), that's why I must
> >> finally add both vectors V+W. BUT as W is ~100 times greater than V,
> >> if I add the two vectors, I'll end up with a sum vector which will
> >> almost be like W... that's why I had the idea of reducing W's module
> >> to V0. I'm just interested in angle sum... I already know the water
> >> current vector intensity (V0).
> >>
> >> I don't know if I'm explaining myself... the induced water current
> >> speed vector is just a vector with module V0 and bended 45º to the
> >> right of the forcing wind vector. Example: if the W is 60º, then V is
> >> 45º to the right of that (that's 105º) and module V0.
> >>
> >> The reasoning is extremely simple but somehow awkward for me to
> >> program it on jythoon/IDV. If you could help I'd be strongly and
> >> eternally thankful. If I could make this simple calculation directly
> >> on IDV I'll be able to paint and animate water currents very easily.
> >> And on the fantastic IDV.
> >>
> >> Best regards from Spain,
> >> Alberto.
> >>
> >> PS: the reason why I'm including HGT (terrain height) on the formula
> >> is just a trick planned for later. I was planning to multiply the sum
> >> vector by a power of cos(HGT)... Why? Very simple: is just a quick
> >> trick to faint V0 module when terrain height goes up (on land)...
> >> because I don't want sea surface current speed vector to be painted
> >> on
> >> land :-) I guess IDV doesn't understand that V is water current and
> >> it's not to paint anything on land. IDV is smart, but not so smart as
> >> to understand that.
> >>
> >>
> >>
> >>
> >>
> >> El 06/03/2008, a las 16:53, Unidata IDV Support escribió:
> >>
> >>> Hi Alberto-
> >>>
> >>>> (If you're Don Murray replying me, thanks for your previous help!)
> >>>
> >>> Glad to help.
> >>>
> >>>> Hi... My name is Alberto Corbí and I'm a PhD Student happily using
> >>>> IDV
> >>>> to analyze WRF netCDF output. Here's my question.
> >>>>
> >>>> I'd like to have a wind vector (composed with makeTrueVector)
> >>>> divided
> >>>> by a "number" derived from the current latitude. And I get this
> >>>> message:
> >>>>
> >>>> visad.TypeException: visad.TypeException: FunctionType.binary:
> >>>> types
> >>>> don't match
> >>>
> >>> The problem is that you are trying to divide a vector by a scalar
> >>> and this is not allowed in the abstract VisAD math model.  You need
> >>> to divide each component of the vector by the scalar.
> >>>
> >>> In general, the VisAD data model carries along units with all
> >>> mathematical operators so you need to be careful about making
> >>> sure your units all are compatible.  See below:
> >>>
> >>>>
> >>>> Here's my very very simple function:
> >>>>
> >>>> def ekmanVector(U10,V10,HGT):
> >>>> W=sqrt(U10*U10+V10*V10)
> >>>> V0=0.0127*W/sqrt(sin(latr(U10)))
> >>>> vector=makeTrueVector(V0*0.707,V0*0.707)
> >>>> vector2=makeTrueVector(U10,V10) / V0     <- Here's the error (or so
> >>>> I believe)
> >>>> sum=add(vector2,-vector)
> >>>> return sum
> >>>
> >>> So, if you change the above to:
> >>>
> >>> def ekmanVector(U10,V10,HGT):
> >>> W=sqrt(U10*U10+V10*V10)
> >>> V0=0.0127*W/sqrt(sin(latr(U10)))
> >>> vector=makeTrueVector(V0*0.707,V0*0.707)
> >>> vector2=makeTrueVector(U10,V10)
> >>> vector2=vecr(ur(vector2)/V0,vr(vector2)/V0)
> >>> sum=add(vector2,-vector)
> >>> return sum
> >>>
> >>> You'll get a little further.  However, dividing the U component
> >>> of vector2 by V0 will result in dimensionless units (m.s-1/m.s-1)
> >>> so you'll end up with a UnitException when trying to add
> >>> vector2 (dimensionless) to -vector (m.s-1).
> >>>
> >>>> I'm just trying to derive Ekman surface currents: that simple!
> >>>
> >>> Can you send along the formula or a reference so I can try to
> >>> assist you further?  That will help me understand what units
> >>> the constants (0.0127, 0.707) are supposed to be.  Also, what is
> >>> HGT being used for?
> >>>
> >>>> Thanks millions in advance, (again, I haven't found anything in
> >>>> forums
> >>>> nor in mailing lists and I'm sorry to disturb you)
> >>>
> >>> Thanks for checking there first.
> >>>
> >>> Don Murray
> >>>
> >>>
> >>> Ticket Details
> >>> ===================
> >>> Ticket ID: BVE-541882
> >>> Department: Support IDV
> >>> Priority: Normal
> >>> Status: Open
> >>>
> >>
> >> Alberto Corbi Bellot
> >> Estudiante 3er Ciclo
> >> Ciencias del Mar
> >> Universidad Católica de Valencia
> >> San Vicente Mártir
> >> Tel: 610457462
> >>
> >>
> >
> >
> > Ticket Details
> > ===================
> > Ticket ID: BVE-541882
> > Department: Support IDV
> > Priority: Normal
> > Status: Open
> >
> 
> Alberto Corbi Bellot
> Estudiante 3er Ciclo
> Ciencias del Mar
> Universidad Católica de Valencia
> San Vicente Mártir
> Tel: 610457462
> 
> 


Ticket Details
===================
Ticket ID: BVE-541882
Department: Support IDV
Priority: Normal
Status: Open