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.
Hey, I am working on a project where I need to read NEXRAD (Next Generation Radar) weather data that is stored in the NetCDF format. I am trying to pull out the data for a variable called SpectrumWidth using Java, but I noticed that it is stored in the byte data type. I've spent days searching on how to convert this data into a float or a double, but I haven't been able to find much. Right now the values I am getting are either 0s or the range of about 129-140. However, my partner, who knows more about weather radar data, says that the values for SpectrumWidth should be either floats or doubles in the range of 0.0 to around 15.0. I am not sure if this is even possible to do, but from my understanding, data is stored in the byte data type to save space, so is there a way to convert this data back to either a float or double in the range I am looking for? This is the closest I have come to converting this byte data, but it's not working how I need it to. dataFile = NetcdfFile.open(file, null); Variable spectrumWidth = dataFile.findVariable("SpectrumWidth"); //Store the contents of spectrumWidth in an Array Array varArray = spectrumWidth.read(); //Convert the unsigned Array to signed Array spec = MAMath.convertUnsigned(varArray); I also noticed that SpectrumWidth has three dimensions, so would I need to store this data in a multi-dimensional array? Sorry for the weird question, but I hope it makes sense. Any help would be greatly appreciated. Thanks! -Mike
netcdfgroup
archives: