📄 ppf_visibility_valid.c
字号:
func_id = PV_STAVISTIME_ID; pv_vector_msg(&func_id, ierr_t, &n, msg); pv_print_msg(&n, msg); } CHECK_STATUS("STAVISTIME status", local_status)END_CHECK/***************************************************************************************** * * --------- * Test case * --------- * * Test number : VT-5 * ****************************************************************************************/START_CHECK("Check that PV_STARVISTIME status is OK") /* Calling pv_starvistime */ /* -------------------- */#ifndef PL_WINDOWS strcpy(orbit_event_file,"../example/data/ACCEPTANCE_OSF.N1");#else strcpy(orbit_event_file,"..\\example\\data\\ACCEPTANCE_OSF.N1");#endif start_orbit = 2900; stop_orbit = 3000;#ifndef PL_WINDOWS strcpy(swath_file_upper,"../example/data/GOMOIH_.N1"); strcpy(swath_file_lower,"../example/data/GOMOIL_.N1");#else strcpy(swath_file_upper,"..\\example\\data\\GOMOIH_.N1"); strcpy(swath_file_lower,"..\\example\\data\\GOMOIL_.N1");#endif strcpy(star_id,""); strcpy(star_db_file,""); star_ra = 20.0; star_dec = 80.0; max_segments = 999; min_duration = 0.0; n = 0; sprintf(msg[n++], "\nPV_STARVISTIME\n"); pv_print_msg(&n, msg); local_status = pv_starvistime(orbit_event_file, &start_orbit, &stop_orbit, swath_file_upper, swath_file_lower, star_id, star_db_file, &star_ra, &star_dec, &max_segments, &min_duration, &star_ra_deg, &star_dec_deg, &number_segments, bgn_orbit, bgn_second, bgn_microsec,bgn_coverage, end_orbit, end_second, end_microsec,end_coverage, ierr); if (local_status != PV_OK) { func_id = PV_STARVISTIME_ID; pv_vector_msg(&func_id, ierr, &n, msg); pv_print_msg(&n, msg); } CHECK_STATUS("STARVISTIME status", local_status)END_CHECK/***************************************************************************************** * * --------- * Test case * --------- * * Test number : VT-6 * ****************************************************************************************/START_CHECK("Check that PV_ZONEVISTIME status is OK") /* Calling pv_zonevistime */ /* ---------------------- */ strcpy(orbit_event_file_t, ""); start_orbit = 2900; stop_orbit = 2950;#ifndef PL_WINDOWS strcpy(swath_file, "../example/data/RA_2___501_.N1"); strcpy(zone_id, "ZANA____"); strcpy (zone_db_file, "../example/data/MPL_STZ_DBTRGT19970515_120000_00000000_00000000_19950101_000000_20100101_000000.N1");#else strcpy(swath_file, "..\\example\\data\\RA_2___501_.N1"); strcpy(zone_id, "ZANA____"); strcpy (zone_db_file, "..\\example\\data\\MPL_STZ_DBTRGT19970515_120000_00000000_00000000_19950101_000000_20100101_000000.N1");#endif projection = 0; zone_num = 0; /* To be able to introduce the zone identifications */ /* In another cases "zone_num" could have a value different from 0, i.e. "zone_num=5" and then, "zone_long" and "zone_lat" could be defined as follows: zone_long[0] = 0.0; zone_long[1] = 20.0; zone_long[2] = 20.0; zone_long[3] = 0.0; zone_long[4] = 0.0; zone_lat[0] = 0.0; zone_lat[1] = 0.0; zone_lat[2] = -20.0; zone_lat[3] = -20.0; zone_lat[4] = 0.0; */ max_segments=MAX_SEGMENTS; min_duration = 0.0; n = 0; sprintf(msg[n++], "\n\nPV_ZONEVISTIME\n"); pv_print_msg(&n, msg); local_status = pv_zonevistime(orbit_event_file_t, &start_orbit, &stop_orbit, swath_file, zone_id, zone_db_file, &projection, &zone_num, zone_long, zone_lat, &zone_diam, &max_segments, &min_duration, &number_segments, bgn_orbit, bgn_second, bgn_microsec, end_orbit, end_second, end_microsec, coverage, ierr_t); if (local_status != PV_OK) { func_id = PV_ZONEVISTIME_ID; pv_vector_msg(&func_id, ierr_t, &n, msg); pv_print_msg(&n, msg); } CHECK_STATUS("ZONEVISTIME status", local_status)END_CHECK/***************************************************************************************** * * --------- * Test case * --------- * * Test number : VT-7 * ****************************************************************************************/START_CHECK("Check that PV_TIME_SEGMENTS_NOT status is OK") /* Calling pv_time_segments */ /* ------------------------ */ order_switch=PV_TIME_ORDER; orbit_type = PV_ORBIT_ABS; n = 0; sprintf(msg[n++], "\n\nPV_TIME_SEGMENTS_NOT\n"); pv_print_msg(&n, msg); /* not function using zone_vis_time output segments as input segments */ local_status=pv_time_segments_not( orbit_event_file_t, &orbit_type, &order_switch, &number_segments, /* input segments list */ bgn_orbit, bgn_second, bgn_microsec, bgn_cycle, end_orbit, end_second, end_microsec, end_cycle, &num_out, /* output segments list */ &bgn_orbit_res, &bgn_secs_res, &bgn_microsecs_res, &bgn_cycle_res, &end_orbit_res, &end_secs_res, &end_microsecs_res, &end_cycle_res, pv_not_ierr); if (local_status != PV_OK) { func_id = PV_TIME_SEGMENTS_NOT_ID; pv_vector_msg(&func_id, pv_not_ierr, &n, msg); pv_print_msg(&n, msg); } CHECK_STATUS("PV_TIME_SEGMENTS_NOT status", local_status)END_CHECK/***************************************************************************************** * * --------- * Test case * --------- * * Test number : VT-8 * ****************************************************************************************/START_CHECK("Check that PV_TIME_SEGMENTS_OR status is OK") /* Calling pv_time_segments */ /* ------------------------ */ order_switch=PV_TIME_ORDER; n = 0; sprintf(msg[n++], "\n\nPV_TIME_SEGMENTS_OR\n"); pv_print_msg(&n, msg); /* not function using zone_vis_time output segments as input segments */ local_status=pv_time_segments_or (orbit_event_file_t, &orbit_type, &order_switch, &number_segments, /* input segments list 1*/ bgn_orbit, bgn_second, bgn_microsec, bgn_cycle, end_orbit, end_second, end_microsec, end_cycle, &number_segments, /* input segments list 2*/ bgn_orbit, bgn_second, bgn_microsec, bgn_cycle, end_orbit, end_second, end_microsec, end_cycle, &num_out, /* output segments list */ &bgn_orbit_res, &bgn_secs_res, &bgn_microsecs_res, &bgn_cycle_res, &end_orbit_res, &end_secs_res, &end_microsecs_res, &end_cycle_res, pv_or_ierr); if (local_status != PV_OK) { func_id = PV_TIME_SEGMENTS_OR_ID; pv_vector_msg(&func_id, pv_or_ierr, &n, msg); pv_print_msg(&n, msg); } CHECK_STATUS("PV_TIME_SEGMENTS_OR status", local_status)END_CHECK/***************************************************************************************** * * --------- * Test case * --------- * * Test number : VT-9 * ****************************************************************************************/START_CHECK("Check that PV_TIME_SEGMENTS_AND status is OK") /* Calling pv_time_segments */ /* ------------------------ */ order_switch=PV_TIME_ORDER; n = 0; sprintf(msg[n++], "\n\nPV_TIME_SEGMENTS_AND\n"); pv_print_msg(&n, msg); local_status=pv_time_segments_and (orbit_event_file_t, &orbit_type, &order_switch, &number_segments, /* input segments list 1*/ bgn_orbit, bgn_second, bgn_microsec, bgn_cycle, end_orbit, end_second, end_microsec, end_cycle, &number_segments, /* input segments list 2*/ bgn_orbit, bgn_second, bgn_microsec, bgn_cycle, end_orbit, end_second, end_microsec, end_cycle, &num_out, /* output segments list */ &bgn_orbit_res, &bgn_secs_res, &bgn_microsecs_res, &bgn_cycle_res, &end_orbit_res, &end_secs_res, &end_microsecs_res, &end_cycle_res, pv_and_ierr); if (local_status != PV_OK) { func_id = PV_TIME_SEGMENTS_AND_ID; pv_vector_msg(&func_id, pv_and_ierr, &n, msg); pv_print_msg(&n, msg); } CHECK_STATUS("PV_TIME_SEGMENTS_AND status", local_status)END_CHECK/***************************************************************************************** * * --------- * Test case * --------- * * Test number : VT-10 * ****************************************************************************************/START_CHECK("Check that PV_TIME_SEGMENTS_SORT status is OK") /* Calling pv_time_segments */ /* ------------------------ */ order_criteria=PV_ORBIT_REL; n = 0; sprintf(msg[n++], "\n\nPV_TIME_SEGMENTS_SORT\n"); pv_print_msg(&n, msg); /* sort function using zone_vis_time output segments as input segments */ local_status=pv_time_segments_sort(orbit_event_file_t, &orbit_type, &order_criteria, &num_out, bgn_orbit_res, bgn_secs_res, bgn_microsecs_res, bgn_cycle_res, end_orbit_res, end_secs_res, end_microsecs_res, end_cycle_res, pv_sort_ierr); if (local_status != PV_OK) { func_id = PV_TIME_SEGMENTS_SORT_ID; pv_vector_msg(&func_id, pv_sort_ierr, &n, msg); pv_print_msg(&n, msg); } CHECK_STATUS("PV_TIME_SEGMENTS_SORT status", local_status)END_CHECK/***************************************************************************************** * * --------- * Test case * --------- * * Test number : VT-11 * ****************************************************************************************/START_CHECK("Check that PV_TIME_SEGMENTS_MERGE status is OK") /* Calling pv_time_segments */ /* ------------------------ */ n = 0; sprintf(msg[n++], "\n\nPV_TIME_SEGMENTS_MERGE\n"); pv_print_msg(&n, msg); orbit_type = PV_ORBIT_ABS; order_switch=PV_TIME_ORDER; local_status=pv_time_segments_merge (orbit_event_file_t, &orbit_type, &order_switch, &number_segments, /* input segments list 1*/ bgn_orbit, bgn_second, bgn_microsec, bgn_cycle, end_orbit, end_second, end_microsec, end_cycle, &num_out, /* output segments list */ &bgn_orbit_res, &bgn_secs_res, &bgn_microsecs_res, &bgn_cycle_res, &end_orbit_res, &end_secs_res, &end_microsecs_res, &end_cycle_res, pv_merge_ierr); if (local_status != PV_OK) { func_id = PV_TIME_SEGMENTS_MERGE_ID; pv_vector_msg(&func_id, pv_merge_ierr, &n, msg); pv_print_msg(&n, msg); } CHECK_STATUS("PV_TIME_SEGMENTS_MERGE status", local_status)END_CHECK/***************************************************************************************** * * --------- * Test case * --------- * * Test number : VT-12 * ****************************************************************************************/START_CHECK("Check that PV_TIME_SEGMENTS_DELTA status is OK") /* Calling pv_time_segments */ /* ------------------------ */ n = 0; sprintf(msg[n++], "\n\nPV_TIME_SEGMENTS_DELTA\n"); pv_print_msg(&n, msg); orbit_type=PV_ORBIT_ABS;/* operation= PV_ADD; delta_secs=10; delta_microsecs=123;*/ entry_delta = 10.123; exit_delta = 10.123; /* DELTA */ local_status=pv_time_segments_delta ( orbit_event_file_t, &orbit_type, &entry_delta, &exit_delta, &number_segments, /* input segments list */ bgn_orbit, bgn_second, bgn_microsec, bgn_cycle, end_orbit, end_second, end_microsec, end_cycle, &num_out, /* output segments list */ &bgn_orbit_res, &bgn_secs_res, &bgn_microsecs_res, &bgn_cycle_res, &end_orbit_res, &end_secs_res, &end_microsecs_res, &end_cycle_res, pv_delta_ierr); if (local_status != PV_OK) { func_id = PV_TIME_SEGMENTS_DELTA_ID; pv_vector_msg(&func_id, pv_delta_ierr, &n, msg); pv_print_msg(&n, msg); } CHECK_STATUS("PV_TIME_SEGMENTS_DELTA status", local_status); /* Deallocate dynamic memory */ free(bgn_orbit_res); free(bgn_secs_res); free(bgn_microsecs_res); free(bgn_cycle_res); free(end_orbit_res); free(end_secs_res); free(end_microsecs_res); free(end_cycle_res);END_CHECKEND_VALIDATION
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -