⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ppf_orbit_c.c

📁 read envisat and analyis sar data from NASA
💻 C
📖 第 1 页 / 共 2 页
字号:
           }         }       }            n = 0;      sprintf(msg[n++], "- mjdr_t[0]: %lf", mjdr_t[0] );      sprintf(msg[n++], "- mjdr_t[1]: %lf", mjdr_t[1] );      sprintf(msg[n++], "-   xm_t[0]: %lf", xm_t[0] );      sprintf(msg[n++], "-   xm_t[1]: %lf", xm_t[1] );      sprintf(msg[n++], "-   xm_t[2]: %lf", xm_t[2] );       sprintf(msg[n++], "-   xm_t[3]: %lf", xm_t[3] );      sprintf(msg[n++], "-   xm_t[4]: %lf", xm_t[4] );      sprintf(msg[n++], "-   xm_t[5]: %lf", xm_t[5] );      sprintf(msg[n++], "-    x_t[0]: %lf", x_t[0] );      sprintf(msg[n++], "-    x_t[1]: %lf", x_t[1] );      sprintf(msg[n++], "-    x_t[2]: %lf", x_t[2] );       sprintf(msg[n++], "-    x_t[3]: %lf", x_t[3] );      sprintf(msg[n++], "-    x_t[4]: %lf", x_t[4] );      sprintf(msg[n++], "-    x_t[5]: %lf", x_t[5] );      sprintf(msg[n++], "-  acc_t[0]: %lf", acc_t[0] );      sprintf(msg[n++], "-  acc_t[1]: %lf", acc_t[1] );      sprintf(msg[n++], "-  acc_t[2]: %lf", acc_t[2] );          po_print_msg(&n, msg);            for (k=0; k<54; k++)      {         sprintf(msg[k], "- res_ppforb_t[%d]: %lf", k, res_ppforb_t[k] );      }      po_print_msg(&k, msg);   }      /* Calling po_interpol (initialization) *//* ------------------------------------ */   mode   = PO_INIT_FILE+PO_INTERPOL_RES_BAS+PO_INTERPOL_RES_AUX+PO_INTERPOL_RES_BAS_D+PO_INTERPOL_RES_AUX_D+PO_INTERPOL_RES_BAS_2D+PO_INTERPOL_RES_AUX_2D;   choice = PO_ONLY_ESOC_RESTITUTED;   ndc = ndl = ner = 1;   mdjr0 = -2455.947;   mdjr1 = -2455.886;   doris_precise[0] = &file1[0];   doris_prelim[0]  = &file2[0];   esoc_rest[0]     = &file3[0];   n = 0;   sprintf(msg[n++], "\n\nPO_INTERPOL initialization\n");        po_print_msg(&n, msg);   status = po_interpol(&mode, &choice,                        &ndc     , doris_precise,                        &ndl     , doris_prelim,                        &ner     , esoc_rest,                        &mdjr0   , &mdjr1, mdjp, x, pos, vel, acc,                        &selected, res   , ierr);   if (status != PO_OK)   {     func_id = PO_INTERPOL_ID;     po_vector_msg(&func_id, ierr, &n, msg);     po_print_msg(&n, msg);          if (status <= PO_ERR) return(PO_ERR);   }      n = 0;   sprintf(msg[n++], "------ selected:%ld", selected);   po_print_msg(&n,msg);   /* Calling po_interpol (interpolation mode) *//* ---------------------------------------- */   mode   = PO_INTERPOLATE+PO_INTERPOL_RES_BAS+PO_INTERPOL_RES_AUX+PO_INTERPOL_RES_AUX;   choice = PO_AUTO_SELECT;   mdjr0 = (-2455.947+(-2455.886))/2.0;     /* Desidered time for interpolation = UTC time in MJD2000 [days] */   n = 0;   sprintf(msg[n++], "\n\nPO_INTERPOL interpolation\n");        po_print_msg(&n, msg);   status = po_interpol(&mode, &dummy_c,                        &dummy_n     , &dummy_file[0],                        &dummy_n     , &dummy_file[0],                        &dummy_n     , &dummy_file[0],                        &mdjr0       , &dummy, mdjp, x, pos, vel, acc,                        &selected    , res   , ierr);   if (status != PO_OK)   {     func_id = PO_INTERPOL_ID;     po_vector_msg(&func_id, ierr, &n, msg);     po_print_msg(&n, msg);          if (status <= PO_ERR) return(PO_ERR);   }      n=0;   sprintf(msg[n++], "------     time: %18.12lf %18.12lf", mdjp[0], mdjp[1] );   sprintf(msg[n++], "------      pos: %18.12lf %18.12lf %18.12lf", pos[0], pos[1], pos[2] );   sprintf(msg[n++], "------      vel: %18.12lf %18.12lf %18.12lf", vel[0], vel[1], vel[2] );   sprintf(msg[n++], "------ selected:%ld", selected);   sprintf(msg[n++], "------ nodal period: %18.12lf", res[52] );   sprintf(msg[n++], "------ UTC of next ascending node: %18.12lf", res[53] );   po_print_msg(&n,msg);      /* Calling po_genops *//* ----------------- */   mode   = PO_ALL_REC;			/* DORIS navigation file records selection = all records (NOMINAL) */   choice = PO_AUTO_FILE;		/* File selection = automatic selection (NOMINAL) */#ifdef PL_WINDOWS   strcpy(esoc_pred,"..\\data\\AUX_FPO_AXTFOS19970312_184232_00000000A018_00062_01000_0000.N1_bef");   strcpy(doris_nav,"..\\data\\DOR_NAV_0PTCTD19940630_194000_00000000A001_RRRRR_AAAAA_0000.N1_N01");#else    strcpy(esoc_pred,"../data/AUX_FPO_AXTFOS19970312_184232_00000000A018_00062_01000_0000.N1_bef");   strcpy(doris_nav,"../data/DOR_NAV_0PTCTD19940630_194000_00000000A001_RRRRR_AAAAA_0000.N1_N01");#endif   mjd0=16251.0+((72760.0-28.0)/86400.)-18262.0;     mjd1=16251.0+((78830.0-28.0)/86400.)-18262.0;   status = po_genops(&mode, &choice, esoc_pred, doris_nav, &mjd0, &mjd1,                       mjdp, pos, vel, &selected, res_g, ierr);   n = 0;   sprintf(msg[n++], "\n\nPO_GENOPS\n");        po_print_msg(&n, msg);   if (status != PO_OK)   {     func_id = PO_GENOPS_ID;     po_vector_msg(&func_id, ierr, &n, msg);     po_print_msg(&n, msg);          if (status <= PO_ERR) return(PO_ERR);   }      n = 0;   sprintf(msg[n++], "------     time: %18.12lf %18.12lf", mjdp[0], mjdp[1] );   sprintf(msg[n++], "------      pos: %18.12lf %18.12lf %18.12lf", pos[0], pos[1], pos[2] );   sprintf(msg[n++], "------      vel: %18.12lf %18.12lf %18.12lf", vel[0], vel[1], vel[2] );   sprintf(msg[n++], "------ selected:%ld", selected);   po_print_msg(&n,msg);   /* Calling po_ppforb (initialisation mode) *//* --------------------------------------- */   mode_t = PO_INIT;		/* Initialization using the output of po_genops */                                                 n = 0;   sprintf(msg[n++], "\n\nPO_PPFORB initialization\n");        po_print_msg(&n, msg);   status = po_ppforb(&mode_t, mjdr_t, xm_t, mjdp,                       x_t, pos, vel, acc_t, res_ppforb_t, ierr_ppforb_t);   if (status != PO_OK)   {     func_id = PO_PPFORB_ID;     po_vector_msg(&func_id, ierr_ppforb_t, &n, msg);     po_print_msg(&n, msg);          if (status <= PO_ERR) return(PO_ERR);   }       n = 0;           sprintf(msg[n++], "- mjdr_t[0]: %lf", mjdr_t[0] );   sprintf(msg[n++], "- mjdr_t[1]: %lf", mjdr_t[1] );   sprintf(msg[n++], "-   xm_t[0]: %lf", xm_t[0] );   sprintf(msg[n++], "-   xm_t[1]: %lf", xm_t[1] );   sprintf(msg[n++], "-   xm_t[2]: %lf", xm_t[2] );    sprintf(msg[n++], "-   xm_t[3]: %lf", xm_t[3] );   sprintf(msg[n++], "-   xm_t[4]: %lf", xm_t[4] );   sprintf(msg[n++], "-   xm_t[5]: %lf", xm_t[5] );   sprintf(msg[n++], "-    x_t[0]: %lf", x_t[0] );   sprintf(msg[n++], "-    x_t[1]: %lf", x_t[1] );   sprintf(msg[n++], "-    x_t[2]: %lf", x_t[2] );    sprintf(msg[n++], "-    x_t[3]: %lf", x_t[3] );   sprintf(msg[n++], "-    x_t[4]: %lf", x_t[4] );   sprintf(msg[n++], "-    x_t[5]: %lf", x_t[5] );   sprintf(msg[n++], "-  acc_t[0]: %lf", acc_t[0] );   sprintf(msg[n++], "-  acc_t[1]: %lf", acc_t[1] );   sprintf(msg[n++], "-  acc_t[2]: %lf", acc_t[2] );    po_print_msg(&n, msg);      for (k=0; k<54; k++)   {      sprintf(msg[k], "- res_ppforb_t[%d]: %lf", k, res_ppforb_t[k] );   }   po_print_msg(&k, msg);        /* CAREFUL here, po_print_msg handles only MAX_COD messages */                                 /* look up ppf_lib.h for MAX_COD                            *//* Calling po_ppforb (propagation mode) *//* ------------------------------------ */   mode_t = PO_PROPAG;			/* Propagate using absolute time */                                         time_t[0]= mjd0;			/* Propagation time UTC [mjd2000] */   time_t[1]= dummy;			/* DUMMY = delta UT1 of the state vector used at initialization */                         n = 0;   sprintf(msg[n++], "\n\nPO_PPFORB propagation\n");        po_print_msg(&n, msg);   status = po_ppforb(&mode_t, mjdr_t, xm_t, time_t,                       x_t, pos_t, vel_t, acc_t, res_ppforb_t, ierr_ppforb_t);         if (status != PO_OK)   {     func_id = PO_PPFORB_ID;     po_vector_msg(&func_id, ierr_ppforb_t, &n, msg);     po_print_msg(&n, msg);          if (status <= PO_ERR) return(PO_ERR);   }       n = 0;   sprintf(msg[n++], "- mjdr_t[0]: %lf", mjdr_t[0] );   sprintf(msg[n++], "- mjdr_t[1]: %lf", mjdr_t[1] );   sprintf(msg[n++], "-   xm_t[0]: %lf", xm_t[0] );   sprintf(msg[n++], "-   xm_t[1]: %lf", xm_t[1] );   sprintf(msg[n++], "-   xm_t[2]: %lf", xm_t[2] );    sprintf(msg[n++], "-   xm_t[3]: %lf", xm_t[3] );   sprintf(msg[n++], "-   xm_t[4]: %lf", xm_t[4] );   sprintf(msg[n++], "-   xm_t[5]: %lf", xm_t[5] );   sprintf(msg[n++], "-    x_t[0]: %lf", x_t[0] );   sprintf(msg[n++], "-    x_t[1]: %lf", x_t[1] );   sprintf(msg[n++], "-    x_t[2]: %lf", x_t[2] );    sprintf(msg[n++], "-    x_t[3]: %lf", x_t[3] );   sprintf(msg[n++], "-    x_t[4]: %lf", x_t[4] );   sprintf(msg[n++], "-    x_t[5]: %lf", x_t[5] );   sprintf(msg[n++], "-  acc_t[0]: %lf", acc_t[0] );   sprintf(msg[n++], "-  acc_t[1]: %lf", acc_t[1] );   sprintf(msg[n++], "-  acc_t[2]: %lf", acc_t[2] );       po_print_msg(&n, msg);      for (k=0; k<54; k++)   {      sprintf(msg[k], "- res_ppforb_t[%d]: %lf", k, res_ppforb_t[k] );   }   po_print_msg(&k, msg);   return(PO_OK);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -