コード例 #1
0
ファイル: OldFitFwrite.c プロジェクト: SDFrance/RSTLite
int main(int argc,char *argv[]) {
  
  int drec=2,dnum;

  struct RadarParm prm;
  struct FitData fit;

  struct OldFitFp *fp;

  fp=OldFitOpen(argv[1],NULL);

  if (fp==NULL) {
    fprintf(stderr,"File not found.\n");
    exit(-1);
  }

  OldFitHeaderFwrite(stdout,"Demonstration Code","fitacf","4.00");

  while(OldFitRead(fp,&prm,&fit) !=-1) {
    fprintf(stderr,"%.4d-%.2d-%.2d %.2d:%.2d:%.2d\n",
             prm.time.yr,prm.time.mo,prm.time.dy,
             prm.time.hr,prm.time.mt,prm.time.sc);

    prm.cp=1000;
    dnum=OldFitFwrite(stdout,&prm,&fit,NULL);
    drec+=dnum;
  }
 
  OldFitClose(fp);

  return 0;
}
コード例 #2
0
int32 OldFitIDLWrite(int argc,char *argv[]) {

  int n;
  struct RadarIDLParm *idlprm;
  struct FitIDLData *idlfit;
  struct RadarParm prm;
  struct FitData fit;

  IDL_FILE_STAT stat;
  FILE *fp;
  int unit; 
  int s;

  unit = *( (int32 *) argv[0]);

  if (unit !=-1) { /* a real file */
    /* Make sure that the "STDIO" keyword was used to
     * open the file in IDL.
     */

    s=IDL_FileEnsureStatus(IDL_MSG_RET,unit,IDL_EFS_STDIO);
    if (s==FALSE) return -1;

    /* Get information about the file */

    IDL_FileStat(unit,&stat);
 
    /* Find the file pointer */

    fp=stat.fptr; 
  
    if (fp==NULL) return -1;

    fflush(fp);

  } else fp=NULL; /* dummy routine */

  /* get the structure pointers */

  idlprm=(struct RadarIDLParm *) argv[1];
  idlfit=(struct FitIDLData *) argv[2];
  
  memset(&prm,0,sizeof(struct RadarParm));
  memset(&fit,0,sizeof(struct FitData));

  /* load up the data structures */

  prm.revision.major=idlprm->revision.major;
  prm.revision.minor=idlprm->revision.minor;
  prm.cp=idlprm->cp;
  prm.stid=idlprm->stid;
  prm.time.yr=idlprm->time.yr;
  prm.time.mo=idlprm->time.mo;
  prm.time.dy=idlprm->time.dy;
  prm.time.hr=idlprm->time.hr;
  prm.time.mt=idlprm->time.mt;
  prm.time.sc=idlprm->time.sc;
  prm.time.us=idlprm->time.us;
  prm.txpow=idlprm->txpow;
  prm.nave=idlprm->nave;
  prm.atten=idlprm->atten;
  prm.lagfr=idlprm->lagfr;
  prm.smsep=idlprm->smsep;
  prm.ercod=idlprm->ercod;
  prm.stat.agc=idlprm->stat.agc;
  prm.stat.lopwr=idlprm->stat.lopwr;
  prm.noise.search=idlprm->noise.search;
  prm.noise.mean=idlprm->noise.mean;
  prm.channel=idlprm->channel;
  prm.bmnum=idlprm->bmnum;
  prm.scan=idlprm->scan;
  prm.rxrise=idlprm->rxrise;
  prm.intt.sc=idlprm->intt.sc;
  prm.intt.us=idlprm->intt.us;
  prm.txpl=idlprm->txpl;
  prm.mpinc=idlprm->mpinc;
  prm.mppul=idlprm->mppul;
  prm.mplgs=idlprm->mplgs;
  prm.nrang=idlprm->nrang;
  prm.frang=idlprm->frang;
  prm.rsep=idlprm->rsep;
  prm.xcf=idlprm->xcf;
  prm.tfreq=idlprm->tfreq;
  prm.offset=idlprm->offset;
  prm.mxpwr=idlprm->mxpwr;
  prm.lvmax=idlprm->lvmax;

  for (n=0;n<prm.mppul;n++) prm.pulse[n]=idlprm->pulse[n];
  for (n=0;n<prm.mplgs;n++) {
    prm.lag[n][0]=idlprm->lag[n];
    prm.lag[n][1]=idlprm->lag[LAG_SIZE+n];
  }

  if (strlen(IDL_STRING_STR(&idlprm->combf)) !=0) 
    strncpy(prm.combf,IDL_STRING_STR(&idlprm->combf),COMBF_SIZE);


  fit.revision.major=idlfit->revision.major;
  fit.revision.minor=idlfit->revision.minor;
  fit.noise.skynoise=idlfit->noise.sky;
  fit.noise.lag0=idlfit->noise.lag0;
  fit.noise.vel=idlfit->noise.vel;

  for (n=0;n<prm.nrang;n++) {
    fit.rng[n].p_0=idlfit->pwr0[n];
    fit.rng[n].nump=idlfit->nlag[n];
    fit.rng[n].qflg=idlfit->qflg[n];
    fit.rng[n].gsct=idlfit->gflg[n];
    fit.rng[n].p_l=idlfit->p_l[n];
    fit.rng[n].p_l_err=idlfit->p_l_e[n];
    fit.rng[n].p_s=idlfit->p_s[n];
    fit.rng[n].p_s_err=idlfit->p_s_e[n];
    fit.rng[n].v=idlfit->v[n];
    fit.rng[n].v_err=idlfit->v_e[n];
    fit.rng[n].w_l=idlfit->w_l[n];
    fit.rng[n].w_l_err=idlfit->w_l_e[n];
    fit.rng[n].w_s=idlfit->w_s[n];
    fit.rng[n].w_s_err=idlfit->w_s_e[n];
    fit.rng[n].sdev_l=idlfit->sd_l[n];
    fit.rng[n].sdev_s=idlfit->sd_s[n];
    fit.rng[n].sdev_phi=idlfit->sd_phi[n];
    if (prm.xcf !=0) {
      fit.elv[n].low=idlfit->elv_low[n];
      fit.elv[n].normal=idlfit->elv[n];
      fit.elv[n].high=idlfit->elv_high[n];
      fit.xrng[n].qflg=idlfit->x_qflg[n];
      fit.xrng[n].gsct=idlfit->x_gflg[n];
      fit.xrng[n].p_l=idlfit->x_p_l[n];
      fit.xrng[n].p_l_err=idlfit->x_p_l_e[n];
      fit.xrng[n].p_s=idlfit->x_p_s[n];
      fit.xrng[n].p_s_err=idlfit->x_p_s_e[n];
      fit.xrng[n].v=idlfit->x_v[n];
      fit.xrng[n].v_err=idlfit->x_v_e[n];
      fit.xrng[n].w_l=idlfit->x_w_l[n];
      fit.xrng[n].w_l_err=idlfit->x_w_l_e[n];
      fit.xrng[n].w_s=idlfit->x_w_s[n];
      fit.xrng[n].w_s_err=idlfit->x_w_s_e[n];
      fit.xrng[n].sdev_l=idlfit->x_sd_l[n];
      fit.xrng[n].sdev_s=idlfit->x_sd_s[n];
      fit.xrng[n].sdev_phi=idlfit->x_sd_phi[n];
      fit.xrng[n].phi0=idlfit->phi0[n];
      fit.xrng[n].phi0_err=idlfit->phi0_e[n];
    }
  }
  
  s=OldFitFwrite(fp,&prm,&fit,NULL);
  
  return s;

}