Re: [netcdfgroup] unsigned 2-byte integer in fortran

Mahakur,

The easiest way is to use a Netcdf built-in feature called automatic type
conversion.

https://www.unidata.ucar.edu/software/netcdf/docs/data_type.html#type_conversion

The library will automatically read 16-but ushort integers into default
32-bit signed integer fortran arrays.  The library will perform the type
conversion for you.  This way, you simply declare a default integer array,
then call the Netcdf read function.  Since the variables are unsigned short
in the file, the result in fortran will be all non-negative integers in the
16-bit unsigned range, which is 0 to 65535.

    use netcdf
    integer ncId, varId, status
    integer array(dim1,dim2,dim3)
    ...
    status = nf90_get_var (ncid, varid, array)
    if (status /= nf90_NoErr) call handle_err (status)

--Dave


On Thu, Oct 11, 2018 at 2:18 AM, M.Mahakur <mmahakur@xxxxxxxxxxxxxx> wrote:

> Hi,
>
> I have few variables as  "ushort data1(dim1,dim2,dim3)" which I wish to
> read using fortran API as I am not good with C/C++. Can you please suggest
> how do I proceed and declare in fortran code data1. I felt there I can not
> use something like "unsigned (kind=2), allocatable, dimension(:,:,;) ::
> data1". How do I declare/syntax for 2-bytes unsigned integer?
>
> With Thanks and Regards,
> Mahakur
>
> IITM, Pune
>
  • 2018 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: