This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Hi Chris, > I have 2 questions: > > (1) I have a NetCDF file with 3 dimensions: [lon, lat, time]. > I need to change the order of the dimensions to: [time, lon, lat]. > Is this possible? And if yes, how can I do it? Yes, the NCO (netCDF operators) program ncpdq ("permute dimensions quickly") is intended for exactly that kind of problem. See: http://nco.sourceforge.net for the package, and in particular http://nco.sourceforge.net/nco.html#ncpdq-netCDF-Permute-Dimensions-Quickly for more information. I think you must be able to read all the values of the variable into memory at once to use ncpdq, but that restriction may have been overcome. There are other packages that may provide similar functionality, including NCL and CDO: http://www.unidata.ucar.edu/software/netcdf/software.html#NCL http://www.unidata.ucar.edu/software/netcdf/software.html#CDO > (2) My variable (temperature) is "double". Is it possible to change it to > "float"? Yes, I think the NCO program ncap2 can do this, with something like: ncap2 -s 'var1=float(var1);var2=float(var2)' in.nc out.nc for double-precision variables var1 and var2. I'm not sure if it supports converting all double variables to float without mentioning each explicitly in the command. You may want to check the documentation or ask on the NCO users forum. --Russ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu Ticket Details =================== Ticket ID: IPQ-870742 Department: Support netCDF Priority: Normal Status: Closed