Sample lines of C to read in and convert raw binary data:
unsigned short int *prec;
short int *array1, *array2, *array3;
for (x=0;x<lines/4;x++) {
if(fread(&prec[x],sizeof(unsigned short int),1,fp) != 1)
printf("read prec[x] err rec %d %s\n", x,file);
if(fread(&array1[x],sizeof(short int),1,fp) != 1)
printf("read array1[x] err rec %d %s\n", x,file);
if(fread(&array2[x],sizeof(short int),1,fp) != 1)
printf("read array2[x] err rec %d %s\n", x,file);
if(fread(&array3[x],sizeof(short int),1,fp) != 1)
printf("read array3[x] err rec %d %s\n", x,file);
prcp = (float) (prec[x])/40.0;
tmax = (float) (array1[x])/100.0;
tmin = (float) (array2[x])/100.0;
wind = (float) (array3[x])/100.0;
}