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

📄 ppf_lib.h

📁 read envisat and analyis sar data from NASA
💻 H
字号:
#ifndef _PPF_LIB_H#define _PPF_LIB_H#ifdef __cplusplusextern "C"{#endif/* This version number is the SCCS version number valid only for internal configuration and control. *//* The oficial version number can be found in the History box below.       */ static char PPF_LIB_H [] = "@(#)ppf_lib.h	1.12 05/17/05";/***************************************************************************** *  * Copyright	: DEIMOS Space S.L. * Project	: REMASE *  * Module	: ppf_lib.h * Purpose	: It is the header file of the PPF_LIB CFI to be used by the final user * * History	+------------------------------------------------------------+ *		| Version | Date     | Name         | Change                 | *		|---------|----------|--------------|------------------------| *		|    4.1  | 17/01/97 |   GMV, S.A   | First release          | *		|    4.2  | 30/04/97 |   GMV, S.A   | Second release         | *		|    4.3  | 18/05/98 |   GMV, S.A   | Third release          | *		|    4.4  | 13/10/98 |   GMV, S.A   | Fourth release         | *		|    4.5  | 25/05/99 |   GMV, S.A   | Fifth release          | *		|    4.6  | 14/04/00 |   GMV, S.A   | Sixth release          | *		|    4.7  | 22/06/01 |   GMV, S.A   | Seventh release        | *		|    4.8  | 31/07/01 |   GMV, S.A   | Eigth release          | *		|    4.9  | 22/10/01 | DEIMOS Space | Ninth release          | *		|    5.0  | 18/01/02 | DEIMOS Space | Tenth release          | *		|    5.1  | 25/11/02 | DEIMOS Space | Eleventh release       | *		|    5.2  | 26/05/03 | DEIMOS Space | Twelfth release        | *		|    5.3  | 13/12/04 | DEIMOS Space | Thirteehth release     | *              |   5.3.1 | 15/02/05 | DEIMOS Space | Forteenth release      | *		|    5.4  | 17/05/05 | DEIMOS Space | Fifteenth release      | *		+------------------------------------------------------------+ *  ****************************************************************************//* Main CFI Functions - prototype declaration *//* ========================================== */ long pl_change_sv_cs(double time[2], long *pcs_in, long *pcs_out,                      double r[3], double rd[3], double r2d[3],		     double r_out[3], double rd_out[3], double r2d_out[3]);long pl_car_geo(double rr[3], double rrd[3],                 double *lon, double *lat, double *h,                 double *lond, double *latd, double *hd);long pl_geo_car(double *lon, double *lat, double *h,                 double *lond, double *latd, double *hd,                 double rr[3], double rrd[3]);long pl_srar_cs(double rr[3], double rrd[3], double rr2d[3],                 double aocs[3], double misp[3], double mispd[3],                 double xs[3], double ys[3], double zs[3],                 double xsd[3], double ysd[3], double zsd[3],                 double angout[3], double angoutd[3]);long pl_geo_distance (double *lon1, double *lat1, double *lon2, double *lat2,                       double *h, double *d, double *az1, double *az2);long pl_tmjd(long mjdt[4], double mjdp[2], char utce[28], char dut1e[9]);long pl_emjd(long mjdt[4], double mjdp[2], char utce[28], char dut1e[9]);long pl_pmjd(long mjdt[4], double mjdp[2], char utce[28], char dut1e[9]);long pl_tadd(long mjdt[4], long mjdrt[4], long addt[4]);long pl_tsub(long mjdt1[4], long mjdt2[4], long subt[4]);long pl_sbtutc (long mjdt0[4], unsigned long *sbt0, unsigned long *per0,                 unsigned long *obtm, unsigned long *obtl, long mjdt[4]);long pl_utcsbt (long mjdt0[4], unsigned long *obt0, unsigned long *per0,                 unsigned long *obtm, unsigned long *obtl, long mjdt[4]);long pl_sun(double ut1[2], double rsun[3], double rdsun[3]);long pl_moon(double ut1[2], double rmoon[3], double rdmoon[3]);long pl_planets(long *planet, double ut1[2], double rplan[3], double rdplan[3]);long pl_star_radec(double ut1[2], double *ra0, double *dec0,                    double *mu_ra, double *mu_dec, double *rad_vel, double *par,                    double *ra, double *dec);/* Error Handling Functions - prototype declaration *//* ================================================ */#define PL_MAX_STR 256		/* Maximum length of a string (function name or error message) */#define PL_MAX_COD 256		/* Maximum number of error codes that can be defined for a single function */long pl_silent(void);long pl_verbose(void);long pl_print_msg(long *n, char msg[PL_MAX_COD][PL_MAX_STR]);long pl_vector_msg(long *func_id, long *ierr, long *n, char msg[PL_MAX_COD][PL_MAX_STR]);long pl_vector_code(long *func_id, long *ierr, long *n, long vec[PL_MAX_COD]);/* Modes and switches *//* ================== *//* Returned status code *//* -------------------- */typedef enum	{PL_ERR = -1,	/* Error status */PL_OK = 0,	/* Nominal status */PL_WARN = 1	/* Warning status */}PL_PErr_type_enum;		/* CAREFUL: variables holding these values MUST be declared as long !!! *//* Coordinate systems *//* ------------------ */typedef enum {   PL_BM2000 = 1,                /* Barycentric Mean of 2000.0 coordinate system */  PL_HM2000 ,                   /* Heliocentric Mean of 2000.0 coordinate system */  PL_GM2000,                    /* Geocentric Mean of 2000.0 coordinate system */  PL_MOD,                       /* Mean of Date coordinate system */  PL_TOD,                       /* True of Date coordinate system */  PL_EF                         /* Earth Fixed coordinate system */} PL_CS_rl_enum;		/* Planets *//* ------- */typedef enum   {   PL_MERCURY = 1,               /* Mercury */  PL_VENUS,                     /* Venus */  PL_EM_BAR,                    /* Earth-Moon barycenter */  PL_MARS,                      /* Mars */  PL_JUPITER,                   /* Jupiter */  PL_SATURN,                    /* Saturn */  PL_URANUS,                    /* Uranus */  PL_NEPTUNE                    /* Neptune */ } PL_Planet_enum;		/* CFI functions IDs (for error handling) *//* -------------------------------------- */typedef enum{ PL_NO_FUNC_ID = -1,		/* No function code */ PL_CHANGE_SV_CS_ID, PL_CAR_GEO_ID, PL_GEO_CAR_ID, PL_SRAR_CS_ID, PL_GEO_DISTANCE_ID, PL_TMJD_ID, PL_EMJD_ID, PL_PMJD_ID, PL_TADD_ID, PL_TSUB_ID, PL_SBTUTC_ID, PL_UTCSBT_ID, PL_SUN_ID, PL_MOON_ID, PL_PLANETS_ID, PL_STAR_RADEC_ID, PL_MAX_FUNC_ID	                /* Number of functions defined in this list */} PL_Func_enum;                 /* List of errors of the main CFI functions (Look up the PPF_LIB SUM) *//* ================================================================== *//* Error handling constants *//* ------------------------ */#define PL_ZERO_E 0		#define PL_FIRST_E 32#define PL_SECOND_E 64#define PL_THIRD_E 96#define PL_FORTH_E 128#define PL_FIFTH_E 160#define PL_SIXTH_E 192#define PL_SEVENTH_E 224#define PL_EIGHTH_E 256#define PL_NINETH_E 288#define PL_TENTH_E 320 #define PL_WARN_BIT 30#define PL_ERR_BIT 31/* Error codes list of pl_change_sv_cs *//* ----------------------------------- */typedef enum    		      {PL_CFI_E1_NDAYS_ERR =PL_ZERO_E,PL_CFI_E1_DUT1_ERR,PL_CFI_INPUT_CS_ERR,PL_CFI_OUTPUT_CS_ERR} PL_CFI_change_sv_cs_err_enum;/* Error codes list of pl_car_geo *//* ------------------------------ */typedef enum 	                      {PL_CFI_AMBIGUITY_CASE_WARN = PL_ZERO_E,PL_CFI_WRONG_FRAME_ERR,                  /* internal error code */PL_CFI_WRONG_INPUT_VECTOR_ERR,PL_CFI_ACCURACY_NOT_GOT_WARN,            /* internal error code */PL_CFI_TOO_MANY_ITERATIONS_WARN,         /* internal error code */     PL_CFI_DEFVAL_ELLALT_WARN                /* internal error code */} PL_CFI_Car_Geo_err_enum;/* Error codes list of pl_geo_car *//* ------------------------------ */typedef enum 	                      {PL_CFI_EL_GT_90_ERR = PL_ZERO_E} PL_CFI_Geo_Car_err_enum;/* Error codes list of pl_srar_cs *//* ------------------------------ */typedef enum 	                      {PL_CFI_SRR_UNDEFINED_ERR = PL_ZERO_E,PL_CFI_J2_CS_ERR,                       /* internal error code */PL_CFI_PITCH_90DEG_WARN} PL_CFI_Srar_Cs_err_enum;/* Error codes list of pl_geo_distance *//* ----------------------------------- */typedef enum 	                      {PL_CFI_ALT_NOT_ID_ERR = PL_ZERO_E,PL_CFI_ANTIPODAL_POINTS_WARN,PL_CFI_GEO_CAR_ERR,PL_CFI_PT_DIR_RANGE_ERR,PL_CFI_ELLIPSOID_PLANE_ERR,PL_CFI_DIR_POINT_WARN} PL_CFI_Geo_Distance_err_enum;/* Error codes list of pl_tmjd *//* --------------------------- */typedef enum 	                      {PL_CFI_K19_NDAYS_ERR = PL_ZERO_E,			     PL_CFI_K19_NSECS_ERR,				      PL_CFI_K19_NMICS_ERR,				       PL_CFI_K19_NDUT1_ERR,PL_CFI_K19_CAL_ERR                     /* internal error code */} PL_CFI_tmjd_err_enum;/* Error codes list of pl_emjd *//* --------------------------- */typedef enum 	                      {PL_CFI_K21_MICS_ERR = PL_ZERO_E,			       PL_CFI_K21_MONTH_ERR,				      PL_CFI_K21_CAL_ERR,				PL_CFI_K21_CAL2_ERR,				        PL_CFI_K21_DUT1_ERR,				       PL_CFI_K21_PROC_ERR,                  /* internal error code */PL_CFI_K21_CONS_ERR		      /* internal error code */		} PL_CFI_emjd_err_enum;/* Error codes list of pl_pmjd *//* --------------------------- */typedef enum 	                      {PL_CFI_K20_NDAYS_ERR = PL_ZERO_E,		   	       PL_CFI_K20_DUT1_ERR,				      PL_CFI_K20_TRANS_ERR,                 /* internal error code */PL_CFI_K20_CONS_ERR		      /* internal error code */} PL_CFI_pmjd_err_enum; /* Error codes list of pl_tadd *//* --------------------------- */typedef enum 	                      {PL_CFI_K22_NDAYS_ERR = PL_ZERO_E,                     PL_CFI_K22_NSECS_ERR,                              PL_CFI_K22_NMICS_ERR,                              PL_CFI_K22_NDUT1_ERR,                              PL_CFI_K22_NDAYS_WARN,                             PL_CFI_K22_NSECS_WARN,                            PL_CFI_K22_NMICS_WARN,                             PL_CFI_K22_NDUT1_WARN                              } PL_CFI_tadd_err_enum;/* Error codes list of pl_tsub *//* --------------------------- */typedef enum 	                      {PL_CFI_K23_NDAYS_ERR = PL_ZERO_E,                   PL_CFI_K23_NSECS_ERR,                             PL_CFI_K23_NMICS_ERR,                             PL_CFI_K23_NDUT1_ERR,                             PL_CFI_K23_NDAYS_WARN,                            PL_CFI_K23_NSECS_WARN,                            PL_CFI_K23_NMICS_WARN,                           PL_CFI_K23_NDUT1_WARN                 } PL_CFI_tsub_err_enum;/* Error codes list of pl_sbtutc *//* ----------------------------- */typedef enum 	                      {PL_CFI_K24_NDAYS_ERR = PL_ZERO_E,         PL_CFI_K24_NSECS_ERR,                   PL_CFI_K24_NMICS_ERR,                    PL_CFI_K24_NDUT1_ERR,                     PL_CFI_K24_PER_ERR,                        PL_CFI_K24_TRA_ERR,                     /* internal error code */PL_CFI_K24_TRA_WARN                     /* internal error code */} PL_CFI_sbtutc_err_enum;/* Error codes list of pl_utcsbt *//* ----------------------------- */typedef enum 	                      {PL_CFI_K25_NDAYS_ERR = PL_ZERO_E,                PL_CFI_K25_NSECS_ERR,                         PL_CFI_K25_NMICS_ERR,                         PL_CFI_K25_NDUT1_ERR,                         PL_CFI_K25_PER_ERR,                            PL_CFI_K25_TRA_ERR,                       /* internal error code */PL_CFI_K25_TRA_WARN                       /* internal error code */} PL_CFI_utcsbt_err_enum;/* Error codes list of pl_sun *//* -------------------------- */typedef enum 	                      {PL_CFI_K02_REF_ERR = PL_ZERO_E,              /* internal error code */PL_CFI_K02_FORM_ERR,                         /* internal error code */PL_CFI_K02_EARTH_ERR,                        /* internal error code */PL_CFI_K02_CHANGE_ERR                        /* internal error code */} PL_CFI_Sun_err_enum;/* Error codes list of pl_moon *//* --------------------------- */typedef enum 	                      {  PL_CFI_K03_REF_ERR = PL_ZERO_E,            /* internal error code */  PL_CFI_K03_FORM_ERR                        /* internal error code */} PL_CFI_Moon_err_enum;/* Error codes list of pl_planets *//* ------------------------------ */typedef enum 	                      {  PL_CFI_K04_REF_ERR = PL_ZERO_E,            /* internal error code */	  PL_CFI_K04_FORM_ERR,	           	     /* internal error code */	  PL_CFI_K04_PLA_ERR,			  PL_CFI_K04_OUT_WARN,			  PL_CFI_K04_CONV_WARN	                     /* internal error code */} PL_CFI_planets_err_enum;/* Error codes list of pl_star_radec *//* --------------------------------- */typedef enum 	                      {PL_CFI_K14_EARTH_ERR = PL_ZERO_E,            /* internal error code */PL_CFI_K14_CHANGE_ERR,       	             /* internal error code */PL_CFI_K14_CHANGE_TO_MD_ERR,	             /* internal error code */PL_CFI_K14_CHANGE_TO_RA_DEC_ERR	             /* internal error code */} PL_CFI_star_radec_err_enum;/* Functions names aliases (historical names LEFT - official names RIGHT) *//* ====================================================================== */#define PL_Silent		pl_silent#define PL_Verbose		pl_verbose#define PL_Print_Msg		pl_print_msg#define PL_Vector_Msg		pl_vector_msg#define PL_Vector_Code		pl_vector_code#define PL_change_sv_cs         pl_change_sv_cs#define PL_car_geo              pl_car_geo#define PL_geo_car              pl_geo_car#define PL_srar_cs              pl_srar_cs#define PL_geo_distance         pl_geo_distance#define tmjd			pl_tmjd#define emjd			pl_emjd#define pmjd			pl_pmjd#define tadd			pl_tadd#define tsub			pl_tsub#define sbtutc			pl_sbtutc#define utcsbt			pl_utcsbt #define PL_sun                  pl_sun#define PL_moon                 pl_moon#define PL_planets              pl_planets#define PL_star_radec           pl_star_radec/****************************************************************************************/#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

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