Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.
Hi all, I'm trying to use the Java NetCDF libraries (2.2.22) to read Arctic ocean data over OPeNDAP. The data are in polar stereographic projection. However, the following short program (which works fine for many other datasets) returns zero Grids: NetcdfDataset nc = NetcdfDataset.openDataset(url, true, null); GridDataset gd = (GridDataset)TypedDatasetFactory.open(DataType.GRID, nc, null, null); System.out.println(gd.getGrids().size()); // prints out "0" The URL to the OPeNDAP site is http://topaz.nersc.no/thredds/dodsC/topaz/mersea-ipv2/arctic/tmipv2a-class1-be. The results of performing an ncdump on this URL (using toolsUI) are attached. toolsUI also fails to recognize any Grids in this dataset. Can anyone advise on what might be the problem here? Is the metadata of the dataset incorrectly specified? Thanks in advance, Jon -- -------------------------------------------------------------- Dr Jon Blower Tel: +44 118 378 5213 (direct line) Technical Director Tel: +44 118 378 8741 (ESSC) Reading e-Science Centre Fax: +44 118 378 6413 ESSC Email: jdb@xxxxxxxxxxxxxxxxxxxx University of Reading 3 Earley Gate Reading RG6 6AL, UK --------------------------------------------------------------
netcdf dods://topaz.nersc.no/thredds/dodsC/topaz/mersea-ipv2/arctic/tmipv2a-class1-be { dimensions: x = 609; // (has coord.var) y = 881; // (has coord.var) depth = 12; // (has coord.var) time = 220; // (has coord.var) variables: int polar_stereographic; :grid_mapping_name = "polar_stereographic"; :latitude_of_projection_origin = 90.0; // double :longitude_of_projection_origin = 45.0; // double :scale_factor_at_projection_origin = 1.0; // double :false_easting = 0.0; // double :false_northing = 0.0; // double float x(x=609); :axis = "X"; :standard_name = "projection_x_coordinate"; :units = "100 km"; float y(y=881); :standard_name = "projection_y_coordinate"; :axis = "Y"; float depth(depth=12); :long_name = "depth"; :units = "m"; :valid_range = 0.0, 3001.0; // double :standard_name = "depth"; :positive = "down"; :axis = "Z"; int time(time=220); :units = "secs since 1970-01-01 00:00:00"; :_CoordinateAxisType = "time"; float longitude(y=881, x=609); :_CoordinateAxes = "y x "; :units = "degrees"; :valid_range = -180.0, 180.0; // double :long_name = "longitude"; :missing_value = -1.0E14; // double float latitude(y=881, x=609); :_CoordinateAxes = "y x "; :units = "degrees"; :valid_range = -90.0, 90.0; // double :standard_name = "latitude"; :long_name = "latitude"; :missing_value = -1.0E14; // double float model_depth(y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :units = "meters"; :valid_range = 0.0, 9000.0; // double :long_name = "model_depth"; :missing_value = -1.0E14; // double :standard_name = "sea_floor_depth_below_sea_level"; :coordinates = "longitude latitude"; short temperature(time=220, depth=12, y=881, x=609); :_CoordinateAxes = "longitude latitude depth y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 21.0; // double :scale_factor = 7.32533650764582E-4; // double :long_name = "Potential temperature of sea water"; :units = "degrees_celsius"; :standard_name = "sea_water_potential_temperature"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short salinity(time=220, depth=12, y=881, x=609); :_CoordinateAxes = "longitude latitude depth y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 25.0; // double :scale_factor = 7.630558862131063E-4; // double :long_name = "Salinity of sea water"; :units = "psu"; :standard_name = "sea_water_salinity"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short u(time=220, depth=12, y=881, x=609); :_CoordinateAxes = "longitude latitude depth y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 0.0; // double :scale_factor = 3.052223544852425E-4; // double :long_name = "X velocity component of sea water"; :units = "m s-1"; :standard_name = "x_sea_water_velocity"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short v(time=220, depth=12, y=881, x=609); :_CoordinateAxes = "longitude latitude depth y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 0.0; // double :scale_factor = 3.052223544852425E-4; // double :long_name = "Y velocity component of sea water"; :units = "m s-1"; :standard_name = "x_sea_water_velocity"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short ssh(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 0.0; // double :scale_factor = 3.052223544852425E-4; // double :long_name = "Sea Surface height"; :units = "m"; :standard_name = "sea_surface_elevation"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short bsfd(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 0.0; // double :scale_factor = 305222.3544852425; // double :long_name = "Barotropic Streamfunction of the ocean"; :units = "m3 s-1"; :standard_name = "ocean_barotropic_streamfunction"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short mlp(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 3000.0; // double :scale_factor = 0.09156670634557275; // double :long_name = "Density Defined Mixed Layer Depth"; :units = "m"; :standard_name = "ocean_mixed_layer_thickness"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short taux(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 0.0; // double :scale_factor = 6.10444708970485E-5; // double :long_name = "Area averaged x-component of atmospheric stress"; :units = "pascal"; :standard_name = "surface_downward_x_stress"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short tauy(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 0.0; // double :scale_factor = 6.10444708970485E-5; // double :long_name = "Area averaged y-component of atmospheric stress"; :units = "pascal"; :standard_name = "surface_downward_y_stress"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short tauxice(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 0.0; // double :scale_factor = 6.10444708970485E-5; // double :long_name = "Area averaged x-component of ice stress on ocean"; :units = "pascal"; :standard_name = "downward_x_stress_at_sea_ice_base"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short tauyice(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 0.0; // double :scale_factor = 6.10444708970485E-5; // double :long_name = "Area averaged y-component of ice stress on ocean"; :units = "pascal"; :standard_name = "downward_y_stress_at_sea_ice_base"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short qtot(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 0.0; // double :scale_factor = 0.09156670634557275; // double :long_name = "Net heat flux into ocean"; :units = "w m-2"; :standard_name = "surface_downward_heat_flux_in_sea_water"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short qtotair(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 0.0; // double :scale_factor = 0.09156670634557275; // double :long_name = "Net surface atmospheric heat flux"; :units = "w m-2"; :standard_name = "surface_downward_heat_flux_in_air"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short qsw(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 1000.0; // double :scale_factor = 0.03052223544852425; // double :long_name = "Net surface shortwave heat flux"; :units = "w m-2"; :standard_name = "net_downward_shortwave_flux_in_air"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short fwflux(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 0.0; // double :scale_factor = 3.0522235448524254E-8; // double :long_name = "Freshwater flux into ocean"; :units = "kg m-2 s-1"; :standard_name = "water_flux_into_ocean"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short fice(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 0.5; // double :scale_factor = 1.556634007874737E-5; // double :long_name = "Sea Ice Concentration"; :units = ""; :standard_name = "sea_ice_area_fraction"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short hice(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 7.495; // double :scale_factor = 2.290693770411745E-4; // double :long_name = "Sea Ice Thickness (area average)"; :units = "m"; :standard_name = "sea_ice_thickness"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short hsnow(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 7.495; // double :scale_factor = 2.290693770411745E-4; // double :long_name = "Thickness of snow on top of sea ice (area average)"; :units = "m"; :standard_name = "surface_snow_thickness"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short uice(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 0.0; // double :scale_factor = 6.10444708970485E-5; // double :long_name = "X velocity component of sea ice (area average)"; :units = "m s-1"; :standard_name = "x_sea_ice_velocity"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; short vice(time=220, y=881, x=609); :_CoordinateAxes = "longitude latitude y x "; :missing_value = -32767s; // short :_FillValue = -32767s; // short :add_offset = 0.0; // double :scale_factor = 6.10444708970485E-5; // double :long_name = "y velocity component of sea ice (area average)"; :units = "m s-1"; :standard_name = "y_sea_ice_velocity"; :grid_mapping = "polar_stereographic"; :coordinates = "longitude latitude"; :cell_methods = "lat: lon: time: mean"; :title = "TOPAZ model results"; :comment = "Daily Averaged fields"; :institution = "NERSC, Thormoehlens gate 47, N-5006 Bergen, Norway"; :history = "20071201:Created by program hyc2proj, version V0.1"; :source = "NERSC-HYCOM model fields"; :references = "http://topaz.nersc.no"; :field_type = "Daily average fields"; :Conventions = "CF-1.0"; :field_date = "2007-11-27"; :bulletin_date = "2007-11-28"; :bulletin_type = "Hindcast"; }
netcdf-java
archives: