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

Re: 20030826: DODS Exception...



Hi Tom:


On Wednesday, August 27, 2003, at 12:01 PM, Tom Rink wrote:

Hi Nathan,

I've made some changes to my application effort to support NetCDF v2.
Could I use the jar file, Java-Dods v1.1.3, in place of that which I
downloaded?  In other words, Java-Dods v1.1.3 with NetCDF v2?

you should use the nectdf -DODS library instead of Java-Dods v1.1.3, they are not compatible. the netcdfAll.jar or netcdfDods.jar have all the client side dods classes you need.


Hi John,

In my case, I have a dataset of AIRS hdf4 files sitting on a DODS enabled server somwhere and I would like to use the Java-Netcdf client to access those files. My newbie understanding of DODS tells me I should be able to do this, and in fact, I can for some hdf files. The html doc on the Unidata web page, talks about a subclass of NetcdfFile named DODSNetcdfFile. Is this the right way to go?
C++ is not an option for this project.

Tom



ok, i understand, sorry to be so dense. yes, you can use the netcdf2 client to access DODS datasets. (I misunderstoodcand thought that the DODS server was using the netcdf2 library).

There has been a history of the java DODS parser choking on HDF variables names and aliases. Send us the URL and I will verify if thats the case.. Its possible that Nathan has a fix that I have not incorporated.

Hi John,

http://aqua.ssec.wisc.edu/cgi-bin/nph-dods/aqua_airs_level1/AIRS.2003.09.02.098.L1B.AIRS_Rad.v2.7.12.0.D03245111418.hdf

Tom

Ok, I have looked at this finally (sorry it took so long) and the Java-DODS parser is in fact choking on the alias. Nathan, do you understand why its failing? is it an error in the hdf server? do you know if your new opendap stuff will work on it?

Below is the error and the DAS:

--------------------

dods.dap.MalformedAliasException: In the Alias 'L1B_AIRS_Browse_Subset' the attribute 'attribute' does not begin with the character dot (.). The 'attribute' field must always be an absoulute path name from the top level of the dataset, and thus must always begin with the dot (.) character.

   at dods.dap.DAS.resolveAlias(DAS.java:341)

   at dods.dap.DAS.resolveAliases(DAS.java:237)

   at dods.dap.DAS.resolveAliases(DAS.java:243)

   at dods.dap.DAS.resolveAliases(DAS.java:243)

   at dods.dap.DAS.resolveAliases(DAS.java:178)

   at dods.dap.DAS.parse(DAS.java:154)

   at dods.dap.DConnect.getDAS(DConnect.java:228)

   at ucar.nc2.dods.DODSNetcdfFile.<init>(DODSNetcdfFile.java:158)


-----------------

Attributes {
   HDF_GLOBAL {
       String HDFEOSVersion "HDFEOS_V2.8";
   }
   StructMetadata {
       SwathStructure {
           SWATH_1 {
               String SwathName "L1B_AIRS_Browse_Subset";
               Dimension {
                   Dimension_1 {
                       String DimensionName "GeoXTrack";
                       Int32 Size 90;
                   }
                   Dimension_2 {
                       String DimensionName "GeoTrack";
                       Int32 Size 135;
                   }
               }
               DimensionMap {
               }
               IndexDimensionMap {
               }
               GeoField {
                   GeoField_1 {
                       String GeoFieldName "Latitude";
                       String DataType DFNT_FLOAT64;
                       String DimList "GeoTrack", "GeoXTrack";
                   }
                   GeoField_2 {
                       String GeoFieldName "Longitude";
                       String DataType DFNT_FLOAT64;
                       String DimList "GeoTrack", "GeoXTrack";
                   }
                   GeoField_3 {
                       String GeoFieldName "Time";
                       String DataType DFNT_FLOAT64;
                       String DimList "GeoTrack", "GeoXTrack";
                   }
               }
               DataField {
                   DataField_1 {
                       String DataFieldName "scanang";
                       String DataType DFNT_FLOAT32;
                       String DimList "GeoTrack", "GeoXTrack";
                   }
                   DataField_2 {
                       String DataFieldName "scan_node_type";
                       String DataType DFNT_INT8;
                       String DimList "GeoTrack";
                   }
                   DataField_3 {
                       String DataFieldName "quality_flag";
                       String DataType DFNT_UINT32;
                       String DimList "GeoTrack", "GeoXTrack";
                   }
                   DataField_4 {
                       String DataFieldName "AIRS_T_200mb";
                       String DataType DFNT_FLOAT32;
                       String DimList "GeoTrack", "GeoXTrack";
                   }
                   DataField_5 {
                       String DataFieldName "AIRS_O3";
                       String DataType DFNT_FLOAT32;
                       String DimList "GeoTrack", "GeoXTrack";
                   }
                   DataField_6 {
                       String DataFieldName "AIRS_Window";
                       String DataType DFNT_FLOAT32;
                       String DimList "GeoTrack", "GeoXTrack";
                   }
                   DataField_7 {
                       String DataFieldName "AIRS_CH4";
                       String DataType DFNT_FLOAT32;
                       String DimList "GeoTrack", "GeoXTrack";
                   }
                   DataField_8 {
                       String DataFieldName "AIRS_H2O";
                       String DataType DFNT_FLOAT32;
                       String DimList "GeoTrack", "GeoXTrack";
                   }
               }
               MergedFields {
               }
           }
           Alias L1B_AIRS_Browse_Subset SWATH_1;
       }
       GridStructure {
       }
       PointStructure {
       }
   }
   coremetadata {
       INVENTORYMETADATA {
           String GROUPTYPE MASTERGROUP;
           ECSDATAGRANULE {
               LOCALGRANULEID {
                   Int32 NUM_VAL 1;
                   String VALUE 
"AIRS.2003.09.03.071.L1B.AIRS_BrSub.v2.7.12.0.D03246084916.hdf";
               }
               PRODUCTIONDATETIME {
                   Int32 NUM_VAL 1;
                   String VALUE "2003-09-03T08:49:18.000Z";
               }
               DAYNIGHTFLAG {
                   Int32 NUM_VAL 1;
                   String VALUE "Both";
               }
               LOCALVERSIONID {
                   Int32 NUM_VAL 1;
                   String VALUE "Unspecified";
               }
           }
           MEASUREDPARAMETER {
               MEASUREDPARAMETERCONTAINER {
                   String CLASS "1";
                   QAFLAGS {
                       String CLASS "1";
                       AUTOMATICQUALITYFLAGEXPLANATION {
                           Int32 NUM_VAL 1;
                           String CLASS "1";
                           String VALUE "Based on percentage of product that is 
good. Suspect used where true quality is not known.";
                       }
                       AUTOMATICQUALITYFLAG {
                           Int32 NUM_VAL 1;
                           String CLASS "1";
                           String VALUE "Passed";
                       }
                   }
                   QASTATS {
                       String CLASS "1";
                       QAPERCENTMISSINGDATA {
                           Int32 NUM_VAL 1;
                           String CLASS "1";
                           Int32 VALUE 4;
                       }
                   }
                   PARAMETERNAME {
                       String CLASS "1";
                       Int32 NUM_VAL 1;
                       String VALUE "Subset";
                   }
               }
           }
           ORBITCALCULATEDSPATIALDOMAIN {
               ORBITCALCULATEDSPATIALDOMAINCONTAINER {
                   String CLASS "1";
                   STARTORBITNUMBER {
                       String CLASS "1";
                       Int32 NUM_VAL 1;
                       Int32 VALUE 0;
                   }
                   EQUATORCROSSINGDATE {
                       String CLASS "1";
                       Int32 NUM_VAL 1;
                       String VALUE "1993-01-01";
                   }
                   EQUATORCROSSINGTIME {
                       String CLASS "1";
                       Int32 NUM_VAL 1;
                       String VALUE "00:00:00.000000Z";
                   }
                   EQUATORCROSSINGLONGITUDE {
                       String CLASS "1";
                       Int32 NUM_VAL 1;
                       Float64 VALUE 0.000000;
                   }
                   STOPORBITNUMBER {
                       String CLASS "1";
                       Int32 NUM_VAL 1;
                       Int32 VALUE 0;
                   }
               }
           }
           COLLECTIONDESCRIPTIONCLASS {
               VERSIONID {
                   Int32 NUM_VAL 1;
                   Int32 VALUE 2;
               }
               SHORTNAME {
                   Int32 NUM_VAL 1;
                   String VALUE "AIRIBCBS";
               }
           }
           INPUTGRANULE {
               INPUTPOINTER {
                   Int32 NUM_VAL 50;
                   String VALUE 
"/home1/airs/tmp/a1.03246.0704.030903074350/2003246-074353/L1A-AIRS-Calib-071", 
"/home1/airs/tmp/a1.03246.0704.030903074350/2003246-074353/L1A-AIRS-Calib-072", 
"/home1/airs/tmp/a1.03246.0704.030903074350/2003246-074353/L1A-AIRS-Calib-073", "
         /home1/airs/tmp/a1.03246.0704.030903074350/2003246-074353/L1A-AIRS-Scene-071", 
"/home1/airs/tmp/a1.03246.0704.030903074350/2003246-074353/L1A-AIRS-Scene-072", 
"/home1/airs/tmp/a1.03246.0704.030903074350/2003246-074353/L1A-AIRS-Scene-073", "
         /home1/gumley/AIRS/STORE/ancillary/L1B.airs_cfg.2002.05.04.v6.1.0.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L1B.airs_cfg.2002.07.09.v6.1.0.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L1B.airs_cfg.2002.08.30.v6.1.0.anc", "
         /home1/gumley/AIRS/STORE/ancillary/L1B.airs_cfg.2002.09.17.v6.1.0.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L1B.airs_cfg.2002.10.22.v6.1.0.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L1B.airs_cfg.2003.01.10.v6.1.0.anc", "
         /home1/gumley/AIRS/STORE/ancillary/L1B.airs_focal_plane_map.v1.2.0.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L1B.spectral_feature.v1.3.0.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L1B.non_linear_corr.v1.1.0.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L1B.polarization_corr.v1.1.0.anc", "
         /home1/gumley/AIRS/STORE/ancillary/L1B.space_view_sel.v1.0.0.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L1B.popcorn_corr.v1.0.0.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L1B.airs_qa.2002.05.04.v5.0.0.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L1B.airs_qa.2002.07.09.v5.0.1.anc", "
         /home1/gumley/AIRS/STORE/ancillary/L1B.airs_qa.2002.08.30.v5.0.2.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L1B.airs_qa.2003.01.10.v6.1.0.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L2.chan_prop.1990.01.01.v5.1.2.anc", "
         /home1/gumley/AIRS/STORE/ancillary/L2.chan_prop.2002.05.04.v6.6.5.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L2.chan_prop.2002.07.09.v6.6.6.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L2.chan_prop.2002.08.30.v6.6.2.anc", "
         /home1/gumley/AIRS/STORE/ancillary/L2.chan_prop.2002.09.17.v6.6.3.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L2.chan_prop.2002.10.22.v6.6.4.anc", 
"/home1/gumley/AIRS/STORE/ancillary/L2.chan_prop.2003.01.10.v6.6.7.anc";
               }
           }
           SPATIALDOMAINCONTAINER {
               HORIZONTALSPATIALDOMAINCONTAINER {
                   BOUNDINGRECTANGLE {
                       EASTBOUNDINGCOORDINATE {
                           Int32 NUM_VAL 1;
                           Float64 VALUE -52.331795;
                       }
                       WESTBOUNDINGCOORDINATE {
                           Int32 NUM_VAL 1;
                           Float64 VALUE -88.127899;
                       }
                       SOUTHBOUNDINGCOORDINATE {
                           Int32 NUM_VAL 1;
                           Float64 VALUE 40.570244;
                       }
                       NORTHBOUNDINGCOORDINATE {
                           Int32 NUM_VAL 1;
                           Float64 VALUE 64.136208;
                       }
                   }
                   ZONEIDENTIFIERCLASS {
                       ZONEIDENTIFIER {
                           Int32 NUM_VAL 1;
                           String VALUE "Other Grid System";
                       }
                   }
               }
           }
           RANGEDATETIME {
               RANGEENDINGDATE {
                   Int32 NUM_VAL 1;
                   String VALUE "2003-09-03";
               }
               RANGEENDINGTIME {
                   Int32 NUM_VAL 1;
                   String VALUE "07:11:25.999999Z";
               }
               RANGEBEGINNINGDATE {
                   Int32 NUM_VAL 1;
                   String VALUE "2003-09-03";
               }
               RANGEBEGINNINGTIME {
                   Int32 NUM_VAL 1;
                   String VALUE "07:05:26.000000Z";
               }
           }
           PGEVERSIONCLASS {
               PGEVERSION {
                   Int32 NUM_VAL 1;
                   String VALUE "2.7.12.0";
               }
           }
           ASSOCIATEDPLATFORMINSTRUMENTSENSOR {
               ASSOCIATEDPLATFORMINSTRUMENTSENSORCONTAINER {
                   String CLASS "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", 
"15", "16", "17";
                   ASSOCIATEDSENSORSHORTNAME {
                       String CLASS "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", 
"14", "15", "16", "17";
                       Int32 NUM_VAL 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1;
                       String VALUE "M1a Detector Array", "M1b Detector Array", "M2a Detector Array", "M2b Detector Array", "M3 Detector Array", "M4a Detector Array", "M4b Detector 
Array", "M4c Detector Array", "M4d Detector Array", "M5 Detector Array", "M6 Detector Array", "M7 Detector Array", "M8 Detector Array", "M9 Detector Array", "M10 
Detector Array", "M11 Detector Array", "M12 Detector Array";
                   }
                   ASSOCIATEDPLATFORMSHORTNAME {
                       String CLASS "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", 
"14", "15", "16", "17";
                       Int32 NUM_VAL 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1;
                       String VALUE "Aqua", "Aqua", "Aqua", "Aqua", "Aqua", "Aqua", "Aqua", "Aqua", "Aqua", "Aqua", "Aqua", 
"Aqua", "Aqua", "Aqua", "Aqua", "Aqua", "Aqua";
                   }
                   OPERATIONMODE {
                       String CLASS "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", 
"14", "15", "16", "17";
                       Int32 NUM_VAL 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1;
                       String VALUE "Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal", 
"Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal";
                   }
                   ASSOCIATEDINSTRUMENTSHORTNAME {
                       String CLASS "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", 
"14", "15", "16", "17";
                       Int32 NUM_VAL 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1;
                       String VALUE "AIRS", "AIRS", "AIRS", "AIRS", "AIRS", "AIRS", "AIRS", "AIRS", "AIRS", "AIRS", "AIRS", 
"AIRS", "AIRS", "AIRS", "AIRS", "AIRS", "AIRS";
                   }
               }
           }
           ADDITIONALATTRIBUTES {
               ADDITIONALATTRIBUTESCONTAINER {
                   String CLASS "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", 
"27", "28", "29", "30", "31", "32", "33", "34", "35", "36";
                   ADDITIONALATTRIBUTENAME {
                       String CLASS "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", 
"26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36";
                       Int32 NUM_VAL 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1;
                       String VALUE "NumBadData", "NumSpecialData", "NumProcessData", "NumMissingData", "NumTotalData", "NumLandSurface", "NumOceanSurface", "NumFpe", "ScanLineCount", "AIRSGranuleNumber", "OrbitPath", "SP_STARTING_PATH", "SP_STARTING_ROW", "SP_ENDING_ROW", "NumGeoQA", 
"NumSunGlint", "LonGranuleCen", "LatGranuleCen", "LocTimeGranuleCen", "NodeType", "DCRCount", "PopCount", "AIRSMode", "PercentHighContrast", "NumBadIRScans", "NumBadIROffsetChans", "NumBadIRGainChans", "NumBadIRSpecChans", "NumIRPopChans", "NumBadIRSceneChans", 
"NumHighNoiseIRChans", "NumBadAIRSTelemChans", "MasterCollectionName", "ProductGenerationFacility", "AIRSGranuleCycleNumber", "AIRSRunTag";
                   }
                   INFORMATIONCONTENT {
                       String CLASS "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", 
"26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36";
                       PARAMETERVALUE {
                           Int32 NUM_VAL 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1;
                           String CLASS "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", 
"26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36";
                           String VALUE "0", "0", "11613", "537", "12150", "3852", "2813", "0", "135", "71", "192", "192", "-1", "-1", "1", "0", "-73", "53", "137", "Descending", "0", "19", "Inferred Nominal", 
"Other", "0.00", "24", "0", "2209", "0", "3", "0", "9", "0", "AIRS/Aqua infrared geolocated radiances V002", "D", "0", "03246084916";
                       }
                   }
               }
           }
       }
   }
   Latitude_dim_0 {
       String name "GeoTrack:L1B_AIRS_Browse_Subset";
   }
   Latitude_dim_1 {
       String name "GeoXTrack:L1B_AIRS_Browse_Subset";
   }
   Longitude_dim_0 {
       String name "GeoTrack:L1B_AIRS_Browse_Subset";
   }
   Longitude_dim_1 {
       String name "GeoXTrack:L1B_AIRS_Browse_Subset";
   }
   Time_dim_0 {
       String name "GeoTrack:L1B_AIRS_Browse_Subset";
   }
   Time_dim_1 {
       String name "GeoXTrack:L1B_AIRS_Browse_Subset";
   }
   scanang_dim_0 {
       String name "GeoTrack:L1B_AIRS_Browse_Subset";
   }
   scanang_dim_1 {
       String name "GeoXTrack:L1B_AIRS_Browse_Subset";
   }
   quality_flag_dim_0 {
       String name "GeoTrack:L1B_AIRS_Browse_Subset";
   }
   quality_flag_dim_1 {
       String name "GeoXTrack:L1B_AIRS_Browse_Subset";
   }
   AIRS_T_200mb_dim_0 {
       String name "GeoTrack:L1B_AIRS_Browse_Subset";
   }
   AIRS_T_200mb_dim_1 {
       String name "GeoXTrack:L1B_AIRS_Browse_Subset";
   }
   AIRS_O3_dim_0 {
       String name "GeoTrack:L1B_AIRS_Browse_Subset";
   }
   AIRS_O3_dim_1 {
       String name "GeoXTrack:L1B_AIRS_Browse_Subset";
   }
   AIRS_Window_dim_0 {
       String name "GeoTrack:L1B_AIRS_Browse_Subset";
   }
   AIRS_Window_dim_1 {
       String name "GeoXTrack:L1B_AIRS_Browse_Subset";
   }
   AIRS_CH4_dim_0 {
       String name "GeoTrack:L1B_AIRS_Browse_Subset";
   }
   AIRS_CH4_dim_1 {
       String name "GeoXTrack:L1B_AIRS_Browse_Subset";
   }
   AIRS_H2O_dim_0 {
       String name "GeoTrack:L1B_AIRS_Browse_Subset";
   }
   AIRS_H2O_dim_1 {
       String name "GeoXTrack:L1B_AIRS_Browse_Subset";
   }
}