ncdf4a13/libsrc4/tst_converts2.c File Reference

#include <netcdf.h>
#include <nc_tests.h>

Include dependency graph for tst_converts2.c:

Go to the source code of this file.

Defines

#define FILE_NAME   "tst_converts2.nc"
#define VAR_NAME   "Monkey"

Functions

int main (int argc, char **argv)


Define Documentation

#define FILE_NAME   "tst_converts2.nc"
 

Definition at line 13 of file tst_converts2.c.

#define VAR_NAME   "Monkey"
 

Definition at line 14 of file tst_converts2.c.


Function Documentation

int main int  argc,
char **  argv
 

Definition at line 18 of file tst_converts2.c.

References ERR, FILE_NAME, FINAL_RESULTS, natts, NC_BYTE, nc_close, nc_create, nc_def_var, NC_ERANGE, nc_get_var_double, nc_get_var_int, nc_get_var_long, nc_get_var_longlong(), nc_get_var_schar, nc_get_var_short, nc_get_var_uchar, nc_get_var_uint(), nc_get_var_ulonglong(), nc_get_var_ushort(), nc_inq_var, NC_INT, NC_MAX_NAME, NC_NETCDF4, NC_NOWRITE, nc_open, nc_put_var_int, nc_put_var_schar, ncid, ndims, SUMMARIZE_ERR, VAR_NAME, var_name, var_type, and X_INT_MAX.

00019 {
00020    int ncid, varid;
00021    signed char schar_in, schar = -2;
00022    char var_name[NC_MAX_NAME+1];
00023    int ndims, natts, int_in;
00024    long long_in;
00025    nc_type var_type;
00026  
00027    printf("\n*** Testing more netcdf-4 data conversion.\n");
00028    /*nc_set_log_level(5);*/
00029 
00030    printf ("*** Testing NC_BYTE converstions...");
00031    {
00032       /* Write a scalar NC_BYTE with value -2. */
00033       if (nc_create(FILE_NAME, NC_NETCDF4, &ncid)) ERR;
00034       if (nc_def_var(ncid, VAR_NAME, NC_BYTE, 0, NULL, &varid)) ERR;
00035       if (nc_put_var_schar(ncid, varid, &schar)) ERR;
00036       if (nc_close(ncid)) ERR;
00037 
00038       /* Now open the file and check it. */
00039       if (nc_open(FILE_NAME, NC_NOWRITE, &ncid)) ERR;
00040       if (nc_inq_var(ncid, 0, var_name, &var_type, &ndims, NULL, &natts)) ERR;
00041       if (strcmp(var_name, VAR_NAME) || natts !=0 || ndims != 0 || 
00042           var_type != NC_BYTE) ERR;
00043       if (nc_get_var_schar(ncid, varid, &schar_in)) ERR;
00044       if (schar_in != schar) ERR;
00045       if (nc_get_var_int(ncid, varid, &int_in)) ERR;
00046       if (int_in != schar) ERR;
00047       if (nc_get_var_long(ncid, varid, &long_in)) ERR;
00048       if (long_in != schar) ERR;
00049       if (nc_close(ncid)) ERR;
00050    }
00051 
00052    SUMMARIZE_ERR;
00053    printf ("*** Testing MAX_INT converstions...");
00054    {
00055       int ivalue = X_INT_MAX, ivalue_in;
00056       unsigned char uchar_in;
00057       unsigned int uivalue_in;
00058       short svalue_in;
00059       unsigned short usvalue_in;
00060       long long int64_in;
00061       unsigned long long uint64_in;
00062       double double_in;
00063       
00064       /* Write a scalar NC_INT with value X_MAX_INT. */
00065       if (nc_create(FILE_NAME, NC_NETCDF4, &ncid)) ERR;
00066       if (nc_def_var(ncid, VAR_NAME, NC_INT, 0, NULL, &varid)) ERR;
00067       if (nc_put_var_int(ncid, varid, &ivalue)) ERR;
00068       if (nc_close(ncid)) ERR;
00069 
00070       /* Now open the file and check it. */
00071       if (nc_open(FILE_NAME, NC_NOWRITE, &ncid)) ERR;
00072       if (nc_inq_var(ncid, 0, var_name, &var_type, &ndims, NULL, &natts)) ERR;
00073       if (strcmp(var_name, VAR_NAME) || natts !=0 || ndims != 0 || 
00074           var_type != NC_INT) ERR;
00075       if (nc_get_var_schar(ncid, varid, &schar_in) != NC_ERANGE) ERR;
00076       if (schar_in != (signed char)ivalue) ERR;
00077       if (nc_get_var_uchar(ncid, varid, &uchar_in) != NC_ERANGE) ERR;
00078       if (uchar_in != (unsigned char)ivalue) ERR;
00079       if (nc_get_var_short(ncid, varid, &svalue_in) != NC_ERANGE) ERR;
00080       if (svalue_in != (short)ivalue) ERR;
00081       if (nc_get_var_ushort(ncid, varid, &usvalue_in) != NC_ERANGE) ERR;
00082       if (usvalue_in != (unsigned short)ivalue) ERR;
00083       if (nc_get_var_int(ncid, varid, &ivalue_in)) ERR;
00084       if (ivalue_in != ivalue) ERR;
00085       if (nc_get_var_uint(ncid, varid, &uivalue_in)) ERR;
00086       if (uivalue_in != (unsigned int)ivalue) ERR;
00087       if (nc_get_var_long(ncid, varid, &long_in)) ERR;
00088       if (long_in != ivalue) ERR;
00089       if (nc_get_var_longlong(ncid, varid, &int64_in)) ERR;
00090       if (int64_in != ivalue) ERR;
00091       if (nc_get_var_ulonglong(ncid, varid, &uint64_in)) ERR;
00092       if (uint64_in != ivalue) ERR;
00093 /*      if (nc_get_var_float(ncid, varid, &float_in)) ERR;
00094       f2 = (float)ivalue; 
00095       if (float_in != f2) ERR;*/
00096       if (nc_get_var_double(ncid, varid, &double_in)) ERR;
00097       if (double_in != (double)ivalue) ERR;
00098       if (nc_close(ncid)) ERR;
00099    }
00100    SUMMARIZE_ERR;
00101 
00102    FINAL_RESULTS;
00103 }


Generated on Thu Mar 16 18:11:39 2006 for nco by  doxygen 1.4.4