NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi John, Thanks for getting back to me. > > You cant open a dataset with a constraint expression in netcdf-Java. Interestingly, that's not exactly true. Apparently one can, it's just not *really* constrained. Or I should say, everything is constrained *except* the data in the variable. Here's a dump of part of the CDL using a constraint in NetCDF-Java: netcdf dods://geoport.whoi.edu/thredds/dodsC/examples/OS_M1_20081008_TS.nc?PSAL[0:1:100][0:1:0][0:1:0][0:1:0] { dimensions: TIME = UNLIMITED; // (101 currently) DEPTH = 1; LATITUDE = 1; LONGITUDE = 1; variables: float PSAL(TIME=101, DEPTH=1, LATITUDE=1, LONGITUDE=1); :_CoordinateAxes = "TIME DEPTH LATITUDE LONGITUDE "; :missing_value = -1.0E34f; // float :_FillValue = -1.0E34f; // float :long_name = "Hourly sea_water_salinity"; :units = " "; :standard_name = "sea_water_salinity"; :uncertainty = "0.02"; :valid_min = "30"; :valid_max = "36"; :cell_methods = "time: mean"; :history = "From m1_ctd0001_20081008_original"; double TIME(TIME=101); double DEPTH(DEPTH=1); double LATITUDE(LATITUDE=1); double LONGITUDE(LONGITUDE=1); … } And without a constraint expression: netcdf dods://geoport.whoi.edu/thredds/dodsC/examples/OS_M1_20081008_TS.nc { dimensions: DEPTH = 11; bnds = 2; LATITUDE = 1; LONGITUDE = 1; TIME = UNLIMITED; // (9043 currently) variables: float DEPTH_QC(DEPTH=11); :missing_value = -1.0E34f; // float :_FillValue = -1.0E34f; // float :long_name = "Quality flag for depth axis, 1: Good data"; double DEPTH_bnds(DEPTH=11, bnds=2); float POSITION_QC(LONGITUDE=1); :missing_value = -1.0E34f; // float :_FillValue = -1.0E34f; // float :long_name = "Quality flag for Latitude and Longitude axes, 1: Good data"; float TIME_QC(TIME=9043); :missing_value = -1.0E34f; // float :_FillValue = -1.0E34f; // float :long_name = "Quality flag for time axis, 1: Good data"; float PSAL(TIME=9043, DEPTH=11, LATITUDE=1, LONGITUDE=1); :_CoordinateAxes = "TIME DEPTH LATITUDE LONGITUDE "; :missing_value = -1.0E34f; // float :_FillValue = -1.0E34f; // float :long_name = "Hourly sea_water_salinity"; :units = " "; :standard_name = "sea_water_salinity"; :uncertainty = "0.02"; :valid_min = "30"; :valid_max = "36"; :cell_methods = "time: mean"; :history = "From m1_ctd0001_20081008_original"; float PSAL_QC(TIME=9043, DEPTH=11, LATITUDE=1, LONGITUDE=1); :_CoordinateAxes = "TIME DEPTH LATITUDE LONGITUDE "; :missing_value = -1.0E34f; // float :_FillValue = -1.0E34f; // float :long_name = "quality flag"; :units = " "; :conventions = "OceanSITES reference table 2"; :history = "From m1_ctd0001_20081008_original"; float TEMP(TIME=9043, DEPTH=11, LATITUDE=1, LONGITUDE=1); :_CoordinateAxes = "TIME DEPTH LATITUDE LONGITUDE "; :missing_value = -1.0E34f; // float :_FillValue = -1.0E34f; // float :long_name = "Hourly sea_water_temperature"; :units = "celsius"; :standard_name = "sea_water_temperature"; :uncertainty = "0.002"; :valid_min = "0"; :valid_max = "35"; :cell_methods = "time: mean"; :history = "From m1_ctd0001_20081008_original"; float TEMP_QC(TIME=9043, DEPTH=11, LATITUDE=1, LONGITUDE=1); :_CoordinateAxes = "TIME DEPTH LATITUDE LONGITUDE "; :missing_value = -1.0E34f; // float :_FillValue = -1.0E34f; // float :long_name = "quality flag"; :units = " "; :conventions = "OceanSITES reference table 2"; :history = "From m1_ctd0001_20081008_original"; double DEPTH(DEPTH=11); :units = "METERS"; :point_spacing = "uneven"; :axis = "Z"; :bounds = "DEPTH_bnds"; :positive = "down"; :long_name = "Depth"; :standard_name = "depth"; :QC_procedure = "5"; :uncertainty = "0.1"; :valid_min = "0"; :valid_max = "5000"; :_CoordinateAxisType = "Height"; :_CoordinateZisPositive = "down"; double LATITUDE(LATITUDE=1); :point_spacing = "even"; :axis = "Y"; :units = "degrees_north"; :long_name = "Latitude"; :standard_name = "latitude"; :QC_procedure = "5"; :uncertainty = "0.0001"; :valid_min = "-90"; :valid_max = "90"; :_CoordinateAxisType = "Lat"; double LONGITUDE(LONGITUDE=1); :point_spacing = "even"; :axis = "X"; :units = "degrees_east"; :long_name = "Longitude"; :standard_name = "longitude"; :QC_procedure = "5"; :uncertainty = "0.0001"; :valid_min = "-180"; :valid_max = "180"; :modulo = " "; :_CoordinateAxisType = "Lon"; double TIME(TIME=9043); :units = "DAYS since 1950-01-01 00:00:00"; :axis = "T"; :time_origin = "01-JAN-1950 00:00:00"; :long_name = "Time"; :standard_name = "time"; :QC_procedure = "1"; :uncertainty = "0.5"; :valid_min = "1223496115"; :valid_max = "1256054123"; :_CoordinateAxisType = "Time"; … } > > open the dataset without a constraint expression, and constrain the read. > OK, got it. Cheers, -- Brian Schlining
netcdf-java
archives: