116 static short int i, i_, iadj, idcodd, idote, idur, iend_,
117 irev, item, itest, ival, k1, k2, k3, k4, k5, k6, kday,
118 kdum4, kdum5, kdum6, khour, kmin, kmon, kodu, ksec, kwal, kyear,
119 lday, ldfk4, ldfk5, ldfk6, ldfl1, ldfl4, ldfl5, ldfl6, ldum1,
120 ldum4, ldum5, ldum6, lflag, lhour, lmin, lmon, lsec, lwal,
121 lyear,
mday, mend, mhour, mmin, mmon, msec, myear, nchar, nday, ndig,
122 nflag, nhour, nmin, nmon, nsec, num, nyear, flag,
123 lcentdum1, kcentdum1, kcent,ncent,lcent,lcentfl1, mcent;
124 static double factor;
138 if ( DEBUG1 )
printf(
"\nshdotb: at L_10 ");
196 if ( DEBUG1 )
printf(
"\nshdotb: at L_20 getting ID");
203 else if( *status == 2 )
216 for(
i = 1;
i <= 8;
i++ )
250 else if( *status == 2 )
268 if ( DEBUG1 )
printf(
"\nshdotb: at L_65 reading data header");
280 &kcent,&kyear, &kmon, &kday, &khour, &kmin, &ksec, &mcent, &myear, &mmon, &
mday,
288 if ( DEBUG1 )
printf(
"\nshdotb: at L_70 getting value");
291 if ( DEBUG1 )
printf(
"\nshdotb: status from shreal = %d",*status);
297 else if( *status == 2 )
308 if ( DEBUG2 )
printf(
"\nshdotb: ndig = %d iend_ = %d luns_.mrec = %d",ndig,iend_,
luns_.
mrec);
309 if( (ndig == 0) && (iend_ == 0) )
311 if( (ndig == 0) && (iend_ == 1) )
319 if( lcentdum1 != -31999 )
321 if( ldum1 != -31999 )
327 if( ldum4 != -31999 )
329 if( ldum5 != -31999 )
331 if( ldum6 != -31999 )
341 if( kdum4 != -31999 )
343 if( kdum5 != -31999 )
345 if( kdum6 != -31999 )
415 if ( DEBUG1 )
printf(
"\nshdotb: at L_90 testing qualifier");
416 if( iend_ == 1 )
goto L_95;
478 shtadj( &nyear, &nmon, &nday, &nhour, &nmin, &nsec, &iadj,
496 shtadj( &nyear, &nmon, &nday, &nhour, &nmin, &nsec, &
mday, &flag,
505 shtadj( &nyear, &nmon, &nday, &nhour, &nmin, &nsec, &mmon, &flag,
514 shtadj( &nyear, &nmon, &nday, &nhour, &nmin, &nsec, &myear, &flag,
523 shtadj( &nyear, &nmon, &nday, &nhour, &nmin, &nsec, &mend, &flag,
531 shtdat( &nyear, &nmon, &nday, status );
550 shtadj( &nyear, &nmon, &nday, &nhour, &nmin, &nsec, &iadj, &flag,
573 shtadj( &k1, &k2, &k3, &k4, &k5, &k6, &iadj, &flag, status );
584 shtadj( &nyear, &nmon, &nday, &nhour, &nmin, &nsec, &msec, &flag,
592 shtadj( &nyear, &nmon, &nday, &nhour, &nmin, &nsec, &mmin, &flag,
600 shtadj( &nyear, &nmon, &nday, &nhour, &nmin, &nsec, &mhour, &flag,
610 if( (
data_.
icodd == 5003) && (idcodd == 5000) )
638 if ( itest > 6 ) nyear--;
639 if ( itest < -6 ) nyear++;
654 if ( DEBUG1 )
printf(
"\nshdotb: writing shefout record");
658 check_24( &nyear, &nmon, &nday, &nhour, &nmin, &nsec );
666 "%c%c%c%c%c%c%c%c %4d %2d %2d %2d %2d %2d %4d %2d %2d %2d %2d %2d ",
669 nyear, nmon, nday, nhour, nmin, nsec, k1, k2, k3, k4, k5, k6);
671 "%c%c%c%c%c%c%c %4d %20.6f %20.6f %c %d %c%c%c%c%c%c%c%c %d %s\n",
681 "%c%c%c%c%c%c%c%c %4d %2d %2d %2d %2d %2d %4d %2d %2d %2d %2d %2d ",
684 nyear, nmon, nday, nhour, nmin, nsec, k1, k2, k3, k4, k5, k6);
686 "%c%c%c%c%c%c%c %4d %20.6f %20.6f %c %d %c%c%c%c%c%c%c%c %d %s\n",
756 if ( DEBUG1 )
printf(
"\nshdotb: at L_150 check for data and data type");
761 if( ldum1 != -31999 )
768 if ( lcentdum1 != -31999 )
792 if( ldum4 != -31999 )
799 if( ldum5 != -31999 )
806 if( ldum6 != -31999 )
813 if( kdum4 != -31999 )
820 if( kdum5 != -31999 )
827 if( kdum6 != -31999 )
840 else if( *status == 2 )
845 else if( *status == 3 )
861 if( (lcentfl1 == 0) && (
data_.
lcent != lcent) )
876 if( (ldfl5 == 0) && (
data_.
lmin != lmin) )
881 if( (ldfl6 == 0) && (
data_.
lsec != lmin) )
891 if( (ldfk5 == 0) && (
data_.
kmin != kmin) )
896 if( (ldfk6 == 0) && (
data_.
ksec != kmin) )
906 if ( DEBUG1 )
printf(
"\nshdotb: at L_160 clear past next shlash");
910 if ( DEBUG1 )
printf(
"\nshdotb: at L_165");
917 else if( *status == 2 )
923 if ( DEBUG1 )
printf(
"\nshdotb: at L_170");
933 if ( DEBUG1 )
printf(
"\nshdotb: at L_175");
943 if ( DEBUG1 )
printf(
"\nshdotb: at L_180 check if items appeared");
948 if ( DEBUG1 )
printf(
"\nshdotb: at L_190");
951 if ( DEBUG1 )
printf(
"\nshdotb: at L_200");
966 if ( DEBUG1 )
printf(
"\nshdotb: at L_220 clear to comma or end of line");
973 else if( *status == 2 )
979 if ( DEBUG1 )
printf(
"\nshdotb: at L_230");
988 else if( *status == 2 )
996 if ( DEBUG1 )
printf(
"\nshdotb: at L_9000 return ");
long check_24(short int *year, short int *month, short int *day, short int *hour, short int *minute, short int *second)
void irang(short int *i, short int *min_, short int *max_, short int *status)
printf("fbuf is %s\n", fbuf)
fprintf(fp,"%d %d %d %d 1\n", iminx, iminy, maxi, maxj)
void nextch(short int *ichar, short int *status)
void shbfr(msource, *lcent, *lyear, *lmon, *lday, *lhour, *lmin, *lsec, *kcent, *kyear, *kmon, *kday, *khour, *kmin, *ksec, *mcent, *myear, *mmon, *mday, *mhour, *mmin, *msec, *mend, *kodp, *kode, *icodd, *idcodd, *kodt, *kods, *kodex, float *codp, short int *kwal, short int *nadjtz, short int *kodu, double *factor, short int *irev, short int *kodd, short int *kodpr)
void shdotb(short int *status)
void shdtype(short int *iflag, short int *status)
struct t_comment comment_
struct t_sendflg_ sendflg_
struct t_durprob_ durprob_
void sherr(short int *ier)
void shlocl(short int *nyear, short int *nmon, short int *nday, short int *nhour, short int *nmin, short int *nsec, short int *nadjtz, short int *iadj, short int *status)
void shreal(double *value, short int *iflag, short int *ndig, short int *status)
void shtadj(short int *lyear, short int *lmon, short int *lday, short int *lhour, short int *lmin, short int *lsec, short int *kadj, short int *iadj, short int *status)
void shtdat(short int *lyear, short int *lmon, short int *lday, short int *status)
short int ibuf[MAX_SHEF_INPUT]