Hi devanshi
You are pretty close.
Can you just send me the output of
the statement:
System.out.println(ncFile);
ghansham
On Thu, Mar 27, 2014, visad-request@xxxxxxxxxxxxxxxx said:
> Send visad mailing list submissions to
> visad@xxxxxxxxxxxxxxxx
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://mailman.unidata.ucar.edu/mailman/listinfo/visad
> or, via email, send a message with subject or body 'help' to
> visad-request@xxxxxxxxxxxxxxxx
>
> You can reach the person managing the list at
> visad-owner@xxxxxxxxxxxxxxxx
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of visad digest..."
>
>
> Today's Topics:
>
> 1. Re: Error reading h5 file using NetcdfFile class
> (Devanshi Prajapati)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Thu, 27 Mar 2014 01:10:00 +0530
> From: Devanshi Prajapati <prajapati.devanshi@xxxxxxxxx>
> To: "visad@xxxxxxxxxxxxxxxx" <visad@xxxxxxxxxxxxxxxx>
> Subject: Re: [visad] Error reading h5 file using NetcdfFile class
> Message-ID:
> <CAH3DJ6L4KO84O_Rb5AkuMYHFhjnJ0gOs0Zwrq-pOpRYFatqunw@xxxxxxxxxxxxxx>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hello and thank you all for reply ,
>
> Ghansham Sir, Yes I am trying with Megha-Tropiques dataset.
>
> And reading the group, ScienceData, was my last attemp,as I have already
> tried the same with "Latitude"(var2 in coding),"Longitude" and other
> variables.
> So, passing var2 while getting Dimension,I get the same error.
>
> And all that variable names with detailed information is displayed by
> printing the ncFile vaiable(Line No:3 which is in comment),
> but when I pass it to the Variable class, or trying to getDimension gives
> me a null value.
>
>
> *And the code is,*
>
> import java.io.IOException;
>
> import ucar.ma2.Array;
>
> import ucar.nc2.Dimension;
>
> import ucar.nc2.NetcdfFile;
>
> import ucar.nc2.Variable;
>
>
>
> public class Netcdf_readh5
>
> {
>
> String filePath;
>
> int scans=0;
>
>
>
> public Netcdf_readh5() throws IOException
>
> {
>
> filePath="F:\\img1.h5";
>
> NetcdfFile ncFile = NetcdfFile.open(filePath);
>
> System.out.println(ncFile);
>
>
>
> Variable var2 = ncFile.findVariable("Latitude");
>
>
>
> Dimension d=var1.getDimension(0);
>
> System.out.println(d.getFullName());
>
>
>
> }
>
> public static void main(String args[]) throws IOException
>
> { new Netcdf_readh5();
>
> } }
>
>
>
> /*
>
> On Wed, Mar 26, 2014 at 11:30 PM, <visad-request@xxxxxxxxxxxxxxxx> wrote:
>
>> Send visad mailing list submissions to
>> visad@xxxxxxxxxxxxxxxx
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>> http://mailman.unidata.ucar.edu/mailman/listinfo/visad
>> or, via email, send a message with subject or body 'help' to
>> visad-request@xxxxxxxxxxxxxxxx
>>
>> You can reach the person managing the list at
>> visad-owner@xxxxxxxxxxxxxxxx
>>
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of visad digest..."
>>
>>
>> Today's Topics:
>>
>> 1. Re: help (Ghansham Sangar)
>> 2. Re: help (Ghansham Sangar)
>>
>>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Wed, 26 Mar 2014 09:14:39 +0530
>> From: Ghansham Sangar <ghansham@xxxxxxxxxxxxxxx>
>> To: visad@xxxxxxxxxxxxxxxx
>> Subject: Re: [visad] help
>> Message-ID: <53324D27.2010809@xxxxxxxxxxxxxxx>
>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>>
>> Hi all....
>>
>>
>> Well McV and IDV have lots of code demonstrating that.
>>
>> IDV goes one step further to use ucar.n2.dataset.grid.GridDataset which
>> uses NetcdfFile class to create grids
>> which it further connects with visad using
>> ucar.visad.data.GeoGridFlatField. That is pretty complicated in the sense,
>> you know how to extend the ucar.nc2.dataset.CoordSysBuilder to insert
>> your dataset file in that.
>> In McV, it is plain NetcdfFile class being used almost in the new
>> development may be related to S-NPP datasources
>> or even the Hydra stuff. The new incarnation of Hydra (Hydra 2), uses
>> McV code based for creating Multispectral datasources
>> for calipso, cloudsat, modis, etc.
>>
>> Coming back to what Devanshi is concerned about. Actually as far as I
>> know she is trying with Meghatropiques dataset.
>> It is a very special satellite as it provides all the acquisitions in
>> tropical region specifically dedicated to study the water cycle of
>> tropical region. It is collaboration between ISRO and CNES.
>>
>>
>> I would suggest Devanshi, you should just first try to see how you are
>> reading variables. The code snippet that you sent,
>> in that you are reading the "Science Data" as a variable but it is
>> group. You should first try the following method:
>>
>> List<Variable> var_list = ncFile.getVariables();
>>
>> It gives the list of all the variables in the hdf-5 file.
>> Then you can pick the variable of interest from that list and apply
>> float samples[] = variable.read(float.class); //assuming data type is float
>>
>> I hope it helps.
>>
>> Ghansham
>>
>>
>> On 03/25/2014 11:30 PM, visad-request@xxxxxxxxxxxxxxxx wrote:
>> > Send visad mailing list submissions to
>> > visad@xxxxxxxxxxxxxxxx
>> >
>> > To subscribe or unsubscribe via the World Wide Web, visit
>> > http://mailman.unidata.ucar.edu/mailman/listinfo/visad
>> > or, via email, send a message with subject or body 'help' to
>> > visad-request@xxxxxxxxxxxxxxxx
>> >
>> > You can reach the person managing the list at
>> > visad-owner@xxxxxxxxxxxxxxxx
>> >
>> > When replying, please edit your Subject line so it is more specific
>> > than "Re: Contents of visad digest..."
>> >
>> >
>> > Today's Topics:
>> >
>> > 1. Re: help (Tom Whittaker)
>> > 2. Re: help (Curtis Rueden)
>> > 3. Re: help (Tom Whittaker)
>> >
>> >
>> > ----------------------------------------------------------------------
>> >
>> > Message: 1
>> > Date: Tue, 25 Mar 2014 09:12:12 -0500
>> > From: Tom Whittaker<whittaker@xxxxxxxx>
>> > To: Devanshi Prajapati<prajapati.devanshi@xxxxxxxxx>
>> > Cc: "visad@xxxxxxxxxxxxxxxx"<visad@xxxxxxxxxxxxxxxx>
>> > Subject: Re: [visad] help
>> > Message-ID:
>> > <CAA6nkJBHXNWD=
>> YWJ2+TWbG865GQwVXQmC4+xTEZuj2X2YSDJrg@xxxxxxxxxxxxxx>
>> > Content-Type: text/plain; CHARSET=US-ASCII
>> >
>> > I believe the main issue here is that the code in the VisAD library
>> > for HDF files has not been maintained by the original authors. This
>> > also is true of the netCDF adapter ("Plain"). Unfortunately, this
>> > means that for files that use newer features in these formats, the
>> > code no longer works.
>> >
>> > I do not have any solutions, other than as Ghansham suggests, using
>> > the "official" releases of the respective libraries and then building
>> > your own VisAD Data objects...
>> >
>> > tom
>> >
>> > On Fri, Mar 21, 2014 at 3:14 AM, Devanshi Prajapati
>> > <prajapati.devanshi@xxxxxxxxx> wrote:
>> >> Hi.......This is my program,
>> >>
>> >> package myapp;
>> >>
>> >> import java.rmi.RemoteException;
>> >> import visad.DataImpl;
>> >> import visad.VisADException;
>> >> import visad.data.hdf5.HDF5Form;
>> >> import ncsa.hdf.hdf5lib.*;
>> >>
>> >> public final class hfAdapter2
>> >> { String filePath;
>> >> public hfAdapter2() throws VisADException, RemoteException
>> >> {
>> >> filePath="F:\\Devanshi\\Input\\xyz.h5";
>> >> System.load("F:\\Devanshi\\Projects\\MyApp\\Lib\\jhdf.dll");
>> >> System.load("F:\\Devanshi\\Projects\\MyApp\\Lib\\jhdf5.dll");
>> >> HDF5Form h=new HDF5Form();
>> >> DataImpl ncData=h.open(filePath);
>> >> }
>> >> public static void main(String[] args)
>> >> throws RemoteException, VisADException, IOException
>> >> { new hfAdapter2();
>> >> }
>> >> }
>> >> And the Error I got is,
>> >>
>> >> run:
>> >> Exception in thread "main" java.lang.UnsatisfiedLinkError:
>> >> ncsa.hdf.hdf5lib.H5.H5Fopen(Ljava/lang/String;II)I
>> >> at ncsa.hdf.hdf5lib.H5.H5Fopen(Native Method)
>> >> at visad.data.hdf5.hdf5objects.HDF5File.<init>(HDF5File.java:85)
>> >> at visad.data.hdf5.HDF5FileAdapted.<init>(HDF5FileAdapted.java:70)
>> >> at visad.data.hdf5.HDF5Form.open(HDF5Form.java:102)
>> >> at myapp.hfAdapter2.<init>(hfAdapter2.java:46)
>> >> at myapp.hfAdapter2.main(hfAdapter2.java:96)
>> >> Java Result: 1
>> >> BUILD SUCCESSFUL (total time: 0 seconds)
>> >>
>> >> --
>> >> Devanshi U. Prajapati
>> >>
>> >>
>> >> _______________________________________________
>> >> visad mailing list
>> >> visad@xxxxxxxxxxxxxxxx
>> >> For list information, to unsubscribe, visit:
>> >> http://www.unidata.ucar.edu/mailing_lists/
>> >
>> >
>>
>>
>>
>> ------------------------------
>>
>> Message: 2
>> Date: Wed, 26 Mar 2014 10:41:41 +0530
>> From: Ghansham Sangar <ghansham@xxxxxxxxxxxxxxx>
>> To: visad@xxxxxxxxxxxxxxxx
>> Subject: Re: [visad] help
>> Message-ID: <5332618D.1010408@xxxxxxxxxxxxxxx>
>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>>
>> Some sample snippet to read kalpana-1 hdf5 dataset using NCSA hdf5 library:
>>
>> public Test(String filename) throws HDF5Exception, Exception {
>>
>> H5File h5File = new H5File(filename, FileFormat.READ);
>> int id = h5File.open();
>> H5Group rootGroup = (H5Group) ((DefaultMutableTreeNode)
>> h5File.getRootNode()).getUserObject();
>> List<HObject> member_list = rootGroup.getMemberList();
>> H5Group vhrr_group = null;
>> for (int i = 0; i < member_list.size(); i++) {
>> HObject member = member_list.get(i);
>> if (member.getName().equals("VHRR")) {
>> vhrr_group = (H5Group) member;
>> break;
>> }
>> }
>> List<HObject> vhrr_members = vhrr_group.getMemberList();
>> H5Group image_data_group = null;
>> for (int i = 0; i < vhrr_members.size(); i++) {
>> HObject vhrr_member = vhrr_members.get(i);
>> if (vhrr_member.getName().equals("Image Data")) {
>> image_data_group = (H5Group) vhrr_member;
>> break;
>> }
>> }
>> List<HObject> image_data_members =
>> image_data_group.getMemberList();
>> H5ScalarDS tir_ds = null;
>> for (int i = 0; i < image_data_members.size(); i++) {
>> HObject image_data_member = image_data_members.get(i);
>> if (image_data_member.getName().equals("VHRR_TIR")) {
>> tir_ds = (H5ScalarDS) image_data_member;
>> break;
>> }
>> }
>> short[] tir_data =(short[]) tir_ds.read();
>> long dims[] = tir_ds.getDims();
>> int scans = (int) dims[0];
>> int pixels = (int) dims[1];
>> h5File.close();
>>
>>
>> }
>>
>>
>> Now you have got the samples and dimensions of dataset, now you can
>> create a visad data object using
>> that. You can check any of the examples bundled with visad library.
>>
>> I think you can start from here...
>> As far as library settings are concerned.
>> You should have all java-hdf jars in your project.
>>
>> and dll(for windows) and .so (for linux) in LD_LIBRARY_PATH.
>>
>> I hope it helps
>>
>>
>> One more point, being a JNI library this should be relatively
>> performance wise faster as compared to netcdf-java which is pure java
>> library.
>>
>>
>> Ghansham
>>
>>
>>
>>
>> On 03/25/2014 11:30 PM, visad-request@xxxxxxxxxxxxxxxx wrote:
>> > Send visad mailing list submissions to
>> > visad@xxxxxxxxxxxxxxxx
>> >
>> > To subscribe or unsubscribe via the World Wide Web, visit
>> > http://mailman.unidata.ucar.edu/mailman/listinfo/visad
>> > or, via email, send a message with subject or body 'help' to
>> > visad-request@xxxxxxxxxxxxxxxx
>> >
>> > You can reach the person managing the list at
>> > visad-owner@xxxxxxxxxxxxxxxx
>> >
>> > When replying, please edit your Subject line so it is more specific
>> > than "Re: Contents of visad digest..."
>> >
>> >
>> > Today's Topics:
>> >
>> > 1. Re: help (Tom Whittaker)
>> > 2. Re: help (Curtis Rueden)
>> > 3. Re: help (Tom Whittaker)
>> >
>> >
>> > ----------------------------------------------------------------------
>> >
>> > Message: 1
>> > Date: Tue, 25 Mar 2014 09:12:12 -0500
>> > From: Tom Whittaker<whittaker@xxxxxxxx>
>> > To: Devanshi Prajapati<prajapati.devanshi@xxxxxxxxx>
>> > Cc: "visad@xxxxxxxxxxxxxxxx"<visad@xxxxxxxxxxxxxxxx>
>> > Subject: Re: [visad] help
>> > Message-ID:
>> > <CAA6nkJBHXNWD=
>> YWJ2+TWbG865GQwVXQmC4+xTEZuj2X2YSDJrg@xxxxxxxxxxxxxx>
>> > Content-Type: text/plain; CHARSET=US-ASCII
>> >
>> > I believe the main issue here is that the code in the VisAD library
>> > for HDF files has not been maintained by the original authors. This
>> > also is true of the netCDF adapter ("Plain"). Unfortunately, this
>> > means that for files that use newer features in these formats, the
>> > code no longer works.
>> >
>> > I do not have any solutions, other than as Ghansham suggests, using
>> > the "official" releases of the respective libraries and then building
>> > your own VisAD Data objects...
>> >
>> > tom
>> >
>> > On Fri, Mar 21, 2014 at 3:14 AM, Devanshi Prajapati
>> > <prajapati.devanshi@xxxxxxxxx> wrote:
>> >> Hi.......This is my program,
>> >>
>> >> package myapp;
>> >>
>> >> import java.rmi.RemoteException;
>> >> import visad.DataImpl;
>> >> import visad.VisADException;
>> >> import visad.data.hdf5.HDF5Form;
>> >> import ncsa.hdf.hdf5lib.*;
>> >>
>> >> public final class hfAdapter2
>> >> { String filePath;
>> >> public hfAdapter2() throws VisADException, RemoteException
>> >> {
>> >> filePath="F:\\Devanshi\\Input\\xyz.h5";
>> >> System.load("F:\\Devanshi\\Projects\\MyApp\\Lib\\jhdf.dll");
>> >> System.load("F:\\Devanshi\\Projects\\MyApp\\Lib\\jhdf5.dll");
>> >> HDF5Form h=new HDF5Form();
>> >> DataImpl ncData=h.open(filePath);
>> >> }
>> >> public static void main(String[] args)
>> >> throws RemoteException, VisADException, IOException
>> >> { new hfAdapter2();
>> >> }
>> >> }
>> >> And the Error I got is,
>> >>
>> >> run:
>> >> Exception in thread "main" java.lang.UnsatisfiedLinkError:
>> >> ncsa.hdf.hdf5lib.H5.H5Fopen(Ljava/lang/String;II)I
>> >> at ncsa.hdf.hdf5lib.H5.H5Fopen(Native Method)
>> >> at visad.data.hdf5.hdf5objects.HDF5File.<init>(HDF5File.java:85)
>> >> at visad.data.hdf5.HDF5FileAdapted.<init>(HDF5FileAdapted.java:70)
>> >> at visad.data.hdf5.HDF5Form.open(HDF5Form.java:102)
>> >> at myapp.hfAdapter2.<init>(hfAdapter2.java:46)
>> >> at myapp.hfAdapter2.main(hfAdapter2.java:96)
>> >> Java Result: 1
>> >> BUILD SUCCESSFUL (total time: 0 seconds)
>> >>
>> >> --
>> >> Devanshi U. Prajapati
>> >>
>> >>
>> >> _______________________________________________
>> >> visad mailing list
>> >> visad@xxxxxxxxxxxxxxxx
>> >> For list information, to unsubscribe, visit:
>> >> http://www.unidata.ucar.edu/mailing_lists/
>> >
>> >
>>
>>
>>
>>
>>
>> _______________________________________________
>> visad mailing list
>> visad@xxxxxxxxxxxxxxxx
>> For list information, to unsubscribe, visit:
>> http://www.unidata.ucar.edu/mailing_lists/
>>
>> End of visad Digest, Vol 50, Issue 8
>> ************************************
>>
>
>
>
> --
> Devanshi U. Prajapati
> LJIET(MCA)
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> <http://mailman.unidata.ucar.edu/mailing_lists/archives/visad/attachments/20140327/d5b99098/attachment.html>
>
> ------------------------------
>
> _______________________________________________
> visad mailing list
> visad@xxxxxxxxxxxxxxxx
> For list information, to unsubscribe, visit:
> http://www.unidata.ucar.edu/mailing_lists/
>
> End of visad Digest, Vol 50, Issue 9
> ************************************
>
--