David Thompson wrote:
>
> Steve,
>
> You don't quite understand the notation. I think what you are looking for is
>
> [a.x, a.y, a.z*b/22].
Hi David,
Rather than trying to get OpenDX to create a 3D field I decided to
change the depth variable in the netCDF file instead. It is now a 3D
variable with each Z level containing the same data.
I still got an error about the inputs not matching up so I compared
output using the Print module for each input and found what the problem
was. The Temperature input had already been put through the Isosurface
module so it was just working with a subset. So, I moved my
Mark->Compute->Unmark series to just before the Isosurface module and
tried your suggestion of [a.x, a.y, a.z*b/22]. However, this produced:
Begin Execution
0: Null Object
ERROR: Compute: Bad type: incorrect types for operator conditional
So I changed it to [a.x, a.y, a.z*b.z/22] and now it writes:
0: Null Object
Begin Execution
but it does work. Kind of. At least it plots something that looks
somewhat better than what I had before. It isn't exactly correct but
I'll work on it. For instance it is showing temperature data below the
land. It is also showing inappropriate temperatures, like higher
temperatures at the bottom, although it also shows higher temps at the
coast line and it does follow the coast line so it looks like at least X
and Y are correct. Maybe I've got the Z layers reversed or something.
Any easy way to flip this in DX? It seems that I've seen something like
this.
If anyone has any ideas about what the "0: Null Object" means or if they
have any comments about what is going on I'd greatly appreciate hearing
them. If anyone would like me to repost the network and dataset just
let me know.
Thanks,
Steve
> The input for b is the marked data component for temp. Since your
> grid is the same for both, then the order at which the data is stored
> is the same (typically). So when dx starts doing its calculations in
> row order then the a.z and temp should be at the same position on the
> grid.
>
> With that calculation, you then Unmark back to positions (now in 3d)
> and then use a Shade module (to help show the relief). However, a lot
> of times with visualizations, you may have to scale your Z to make it
> even look good which is what Rubbersheet does.
>
> David
>
> >
> >So I'm guessing that I'd use Make3DField then to add a third dimension?
> >I'm finding no documentation of Make3DField. Has anybody used this to
> >create a 3D array out of a 2D array where each vertical slice (Dimension
> >Z) is a copy of the original 2D array? I see the Stack module and I've
> >given it a try too but it isn't cooperating (or I guess I'm not). I
> >can't see where to tell it that I want the 3rd dimension to have 22
> >levels.
> >
> >What I want is to multiply a(x,y,z) by b(x,y) where b(x,y) is the depth
> >at grid point (x,y). It really isn't a vector so I don't think mag()
> >applies. I think that if I can construct a 3D version of the depth
> >array then I'd just do:
> >
> > [a.x, a.y, a.z * b.z / 22 ]
> >
> >Thanks very much for your help,
> >
> >Regards,
> >
> >Steve
> >--
> >______________________________________________________________________
> > Steve Cousins, Ocean Modeling Group Email: [EMAIL PROTECTED]
> > Marine Sciences, 208 Libby Hall http://rocky.umeoce.maine.edu
> > Univ. of Maine, Orono, ME 04469 Phone: (207) 581-4302
>
> --
> .............................................................................
> David L. Thompson Visualization and Imagery Solutions, Inc.
> mailto:[EMAIL PROTECTED] 5515 Skyway Drive, Missoula, MT 59804
> Phone : (406)756-7472
--
______________________________________________________________________
Steve Cousins, Ocean Modeling Group Email: [EMAIL PROTECTED]
Marine Sciences, 208 Libby Hall http://rocky.umeoce.maine.edu
Univ. of Maine, Orono, ME 04469 Phone: (207) 581-4302