printf ("s1.parameterTableVersion = %d : GRIB tables Version No. (currently 3 for international exchange)\n", rec->s1.parameterTableVersion);
printf ("s1.idCenter = %d : Identification of originating/generating centre (see Code table 0 = Common Code table C–1 in Part C/c.)\n", rec->s1.idCenter);
printf ("s1.idModel = %d\n", rec->s1.idModel);
printf ("s1.idGrid = %d\n", rec->s1.idGrid);
printf ("s1.flags = 0x%02x\n", rec->s1.flags);
printf ("s1.dataType = %d : Indicator of parameter (see Code table 2) 33=u-wind, 34=v-wind, 2=pressure\n", rec->s1.dataType);
printf ("s1.levelType = %d : Indicator of type of level (see Code table 3)\n", rec->s1.levelType);
printf ("s1.levelValue = %d : Height, pressure, etc. of levels (see Code table 3)\n", rec->s1.levelValue);
printf ("s1.year = %d : Reference time of data - date and time of start of averaging or accumulation period\n", rec->s1.year);
printf ("s1.month = %d\n", rec->s1.month);
printf ("s1.day = %d\n", rec->s1.day);
printf ("s1.hour = %d\n", rec->s1.hour);
printf ("s1.minute = %d\n", rec->s1.minute);
printf ("s1.forcastTimeUnit = %d : Indicator of unit of time range (see Code table 4) 0=min 1=hour 2=day ...\n", rec->s1.forcastTimeUnit);
printf ("s1.periodP1 = %d : Period of time (number of time units) (0 for analyses or initialized analyses). Units of time given by octet 18\n", rec->s1.periodP1);
printf ("s1.periodP2 = %d : Period of time (number of time units); or Time interval between successive analyses, initialized analyses or forecasts, undergoing averaging or accumulation. Units of time given by octet 18\n", rec->s1.periodP2);
printf ("s1.timeRange = %d : Time range indicator (see Code table 5)\n", rec->s1.timeRange);