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.
Pooran, It looks like your user function cf90_get_att is ignoring the netCDF function status code. You need to add some code to check for the existence of scale_factor and add_offset attributes. An easy way to do this is to call nf90_get_att and check the returned netCDF status code. There is a specific error code for "attribute does not exist". See documentation for that function. Use the status information to automatically decide how to handle scale and offset corrections, as Daniel described. --Dave On Mon, Apr 15, 2019 at 9:15 AM Daniel Neumann < daniel.neumann@xxxxxxxxxxxxxxxxx> wrote: > Dear Pooran, > > the scale_factor and add_offset attributes are optional. They are used for > packing data (search for "netcdf packing data" for details) and for similar > purposes. If they do not exist, you can consider scale_factor to be 1.0 and > add_offset 0.0 (or you just ignore them and use the data as they are). > > Cheers, > Daniel > > > On 15.04.19 07:02, Pooran khedri wrote: > > Hi everybody, > I have a piece of a code to read meteorological forcing from ECMWF > database in a NetCDF format, Here is some of my piece code to read this > file > > !reading atmospheric pressure > > CALL cf90_get_att(iunit, atmpID, "scale_factor", scale_factor) > CALL cf90_get_att(iunit, atmpID, "add_offset", offset) > CALL cf90_get_var(iunit, atmpID, atmpindat(:,:), filepars%timerec) > atmpindat = atmpindat*scale_factor + offset > > but I have downloaded the new meteorological file from another database in > a NetCDF format , this new file is different from ECMWF file and it does > not have add_offset and scale_factor in its attribute and my code does > not read it and I have got many errors. > I think I have to add the add_offset and scale_factor to the new > NetCDF file or I have to modify the FORTRAN code that scaling is not > used for this variable, but I do not know how to do them☺ ,I am new to > using the NetCDF files and FORTRAN . > I would be grateful if you could explain to me How to solve my problem. > > Pooran > >
netcdfgroup
archives: