From 37b4da7ed3e86c500d1627517d94b4d4ef3f51c8 Mon Sep 17 00:00:00 2001 From: Jessica Date: Wed, 25 Aug 2021 12:30:22 -0400 Subject: [PATCH] tests that require an active NSIDC Earthdata session (#209) * update and run tests that require an active NSIDC Earthdata session * add flat data resource note * NOTE: using the fixture to successfully start a session can be considered the test * transition options to json for cleaner test file --- .travis.yml | 10 +- .../ICESat-2_DAAC_DataAccess_Example.ipynb | 10 + icepyx/tests/ATL06v04_options.json | 1 + icepyx/tests/behind_NSIDC_API_login.py | 659 ------------------ icepyx/tests/test_behind_NSIDC_API_login.py | 48 ++ icepyx/tests/test_granules.py | 7 +- icepyx/tests/test_is2ref.py | 1 + 7 files changed, 71 insertions(+), 665 deletions(-) create mode 100644 icepyx/tests/ATL06v04_options.json delete mode 100644 icepyx/tests/behind_NSIDC_API_login.py create mode 100644 icepyx/tests/test_behind_NSIDC_API_login.py diff --git a/.travis.yml b/.travis.yml index 12a96a444..5e82f41a3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,10 +28,10 @@ stages: jobs: include: - stage: basic tests - script: pytest icepyx/ --ignore icepyx/tests/behind_NSIDC_API_login.py + script: pytest icepyx/ --ignore icepyx/tests/test_behind_NSIDC_API_login.py after_success: codecov - # - stage: behind Earthdata - # script: - # - export NSIDC_LOGIN=$NSIDC_LOGIN - # - pytest icepyx/tests/behind_NSIDC_API_login.py + - stage: behind Earthdata + script: + - export NSIDC_LOGIN=$NSIDC_LOGIN + - pytest icepyx/tests/test_behind_NSIDC_API_login.py diff --git a/examples/ICESat-2_DAAC_DataAccess_Example.ipynb b/examples/ICESat-2_DAAC_DataAccess_Example.ipynb index a0d21fd0a..1e4f7f708 100644 --- a/examples/ICESat-2_DAAC_DataAccess_Example.ipynb +++ b/examples/ICESat-2_DAAC_DataAccess_Example.ipynb @@ -34,6 +34,16 @@ "%matplotlib inline" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "sys." + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/icepyx/tests/ATL06v04_options.json b/icepyx/tests/ATL06v04_options.json new file mode 100644 index 000000000..0fc236fe8 --- /dev/null +++ b/icepyx/tests/ATL06v04_options.json @@ -0,0 +1 @@ +{"options": [{"id": "ICESAT2", "spatialSubsetting": "true", "spatialSubsettingShapefile": "true", "temporalSubsetting": "true", "type": "both", "maxGransSyncRequest": "100", "maxGransAsyncRequest": "2000"}], "fileformats": ["TABULAR_ASCII", "NetCDF4-CF", "Shapefile", "NetCDF-3"], "reprojectionONLY": [], "noproj": [], "formatreproj": ["TABULAR_ASCII", "NetCDF4-CF", "Shapefile", "NetCDF-3"], "variables": ["ancillary_data/atlas_sdp_gps_epoch", "ancillary_data/control", "ancillary_data/data_end_utc", "ancillary_data/data_start_utc", "ancillary_data/end_cycle", "ancillary_data/end_delta_time", "ancillary_data/end_geoseg", "ancillary_data/end_gpssow", "ancillary_data/end_gpsweek", "ancillary_data/end_orbit", "ancillary_data/end_region", "ancillary_data/end_rgt", "ancillary_data/granule_end_utc", "ancillary_data/granule_start_utc", "ancillary_data/qa_at_interval", "ancillary_data/release", "ancillary_data/start_cycle", "ancillary_data/start_delta_time", "ancillary_data/start_geoseg", "ancillary_data/start_gpssow", "ancillary_data/start_gpsweek", "ancillary_data/start_orbit", "ancillary_data/start_region", "ancillary_data/start_rgt", "ancillary_data/version", "ancillary_data/land_ice/dt_hist", "ancillary_data/land_ice/fit_maxiter", "ancillary_data/land_ice/fpb_maxiter", "ancillary_data/land_ice/max_res_ids", "ancillary_data/land_ice/min_dist", "ancillary_data/land_ice/min_gain_th", "ancillary_data/land_ice/min_n_pe", "ancillary_data/land_ice/min_n_sel", "ancillary_data/land_ice/min_signal_conf", "ancillary_data/land_ice/n_hist", "ancillary_data/land_ice/nhist_bins", "ancillary_data/land_ice/n_sigmas", "ancillary_data/land_ice/proc_interval", "ancillary_data/land_ice/qs_lim_bsc", "ancillary_data/land_ice/qs_lim_hrs", "ancillary_data/land_ice/qs_lim_hsigma", "ancillary_data/land_ice/qs_lim_msw", "ancillary_data/land_ice/qs_lim_snr", "ancillary_data/land_ice/qs_lim_sss", "ancillary_data/land_ice/rbin_width", "ancillary_data/land_ice/sigma_beam", "ancillary_data/land_ice/sigma_tx", "ancillary_data/land_ice/t_dead", "ancillary_data/land_ice/txp_maxiter", "gt1l/land_ice_segments/atl06_quality_summary", "gt1l/land_ice_segments/delta_time", "gt1l/land_ice_segments/h_li", "gt1l/land_ice_segments/h_li_sigma", "gt1l/land_ice_segments/latitude", "gt1l/land_ice_segments/longitude", "gt1l/land_ice_segments/segment_id", "gt1l/land_ice_segments/sigma_geo_h", "gt1l/land_ice_segments/bias_correction/fpb_mean_corr", "gt1l/land_ice_segments/bias_correction/fpb_mean_corr_sigma", "gt1l/land_ice_segments/bias_correction/fpb_med_corr", "gt1l/land_ice_segments/bias_correction/fpb_med_corr_sigma", "gt1l/land_ice_segments/bias_correction/fpb_n_corr", "gt1l/land_ice_segments/bias_correction/med_r_fit", "gt1l/land_ice_segments/bias_correction/tx_mean_corr", "gt1l/land_ice_segments/bias_correction/tx_med_corr", "gt1l/land_ice_segments/dem/dem_flag", "gt1l/land_ice_segments/dem/dem_h", "gt1l/land_ice_segments/dem/geoid_free2mean", "gt1l/land_ice_segments/dem/geoid_h", "gt1l/land_ice_segments/fit_statistics/dh_fit_dx", "gt1l/land_ice_segments/fit_statistics/dh_fit_dx_sigma", "gt1l/land_ice_segments/fit_statistics/dh_fit_dy", "gt1l/land_ice_segments/fit_statistics/h_expected_rms", "gt1l/land_ice_segments/fit_statistics/h_mean", "gt1l/land_ice_segments/fit_statistics/h_rms_misfit", "gt1l/land_ice_segments/fit_statistics/h_robust_sprd", "gt1l/land_ice_segments/fit_statistics/n_fit_photons", "gt1l/land_ice_segments/fit_statistics/n_seg_pulses", "gt1l/land_ice_segments/fit_statistics/sigma_h_mean", "gt1l/land_ice_segments/fit_statistics/signal_selection_source", "gt1l/land_ice_segments/fit_statistics/signal_selection_source_status", "gt1l/land_ice_segments/fit_statistics/snr", "gt1l/land_ice_segments/fit_statistics/snr_significance", "gt1l/land_ice_segments/fit_statistics/w_surface_window_final", "gt1l/land_ice_segments/geophysical/bckgrd", "gt1l/land_ice_segments/geophysical/bsnow_conf", "gt1l/land_ice_segments/geophysical/bsnow_h", "gt1l/land_ice_segments/geophysical/bsnow_od", "gt1l/land_ice_segments/geophysical/cloud_flg_asr", "gt1l/land_ice_segments/geophysical/cloud_flg_atm", "gt1l/land_ice_segments/geophysical/dac", "gt1l/land_ice_segments/geophysical/e_bckgrd", "gt1l/land_ice_segments/geophysical/layer_flag", "gt1l/land_ice_segments/geophysical/msw_flag", "gt1l/land_ice_segments/geophysical/neutat_delay_total", "gt1l/land_ice_segments/geophysical/r_eff", "gt1l/land_ice_segments/geophysical/solar_azimuth", "gt1l/land_ice_segments/geophysical/solar_elevation", "gt1l/land_ice_segments/geophysical/tide_earth", "gt1l/land_ice_segments/geophysical/tide_earth_free2mean", "gt1l/land_ice_segments/geophysical/tide_equilibrium", "gt1l/land_ice_segments/geophysical/tide_load", "gt1l/land_ice_segments/geophysical/tide_ocean", "gt1l/land_ice_segments/geophysical/tide_pole", "gt1l/land_ice_segments/ground_track/ref_azimuth", "gt1l/land_ice_segments/ground_track/ref_coelv", "gt1l/land_ice_segments/ground_track/seg_azimuth", "gt1l/land_ice_segments/ground_track/sigma_geo_at", "gt1l/land_ice_segments/ground_track/sigma_geo_r", "gt1l/land_ice_segments/ground_track/sigma_geo_xt", "gt1l/land_ice_segments/ground_track/x_atc", "gt1l/land_ice_segments/ground_track/y_atc", "gt1l/residual_histogram/bckgrd_per_m", "gt1l/residual_histogram/bin_top_h", "gt1l/residual_histogram/count", "gt1l/residual_histogram/delta_time", "gt1l/residual_histogram/ds_segment_id", "gt1l/residual_histogram/lat_mean", "gt1l/residual_histogram/lon_mean", "gt1l/residual_histogram/pulse_count", "gt1l/residual_histogram/segment_id_list", "gt1l/residual_histogram/x_atc_mean", "gt1l/segment_quality/delta_time", "gt1l/segment_quality/record_number", "gt1l/segment_quality/reference_pt_lat", "gt1l/segment_quality/reference_pt_lon", "gt1l/segment_quality/segment_id", "gt1l/segment_quality/signal_selection_source", "gt1l/segment_quality/signal_selection_status/signal_selection_status_all", "gt1l/segment_quality/signal_selection_status/signal_selection_status_backup", "gt1l/segment_quality/signal_selection_status/signal_selection_status_confident", "gt1r/land_ice_segments/atl06_quality_summary", "gt1r/land_ice_segments/delta_time", "gt1r/land_ice_segments/h_li", "gt1r/land_ice_segments/h_li_sigma", "gt1r/land_ice_segments/latitude", "gt1r/land_ice_segments/longitude", "gt1r/land_ice_segments/segment_id", "gt1r/land_ice_segments/sigma_geo_h", "gt1r/land_ice_segments/bias_correction/fpb_mean_corr", "gt1r/land_ice_segments/bias_correction/fpb_mean_corr_sigma", "gt1r/land_ice_segments/bias_correction/fpb_med_corr", "gt1r/land_ice_segments/bias_correction/fpb_med_corr_sigma", "gt1r/land_ice_segments/bias_correction/fpb_n_corr", "gt1r/land_ice_segments/bias_correction/med_r_fit", "gt1r/land_ice_segments/bias_correction/tx_mean_corr", "gt1r/land_ice_segments/bias_correction/tx_med_corr", "gt1r/land_ice_segments/dem/dem_flag", "gt1r/land_ice_segments/dem/dem_h", "gt1r/land_ice_segments/dem/geoid_free2mean", "gt1r/land_ice_segments/dem/geoid_h", "gt1r/land_ice_segments/fit_statistics/dh_fit_dx", "gt1r/land_ice_segments/fit_statistics/dh_fit_dx_sigma", "gt1r/land_ice_segments/fit_statistics/dh_fit_dy", "gt1r/land_ice_segments/fit_statistics/h_expected_rms", "gt1r/land_ice_segments/fit_statistics/h_mean", "gt1r/land_ice_segments/fit_statistics/h_rms_misfit", "gt1r/land_ice_segments/fit_statistics/h_robust_sprd", "gt1r/land_ice_segments/fit_statistics/n_fit_photons", "gt1r/land_ice_segments/fit_statistics/n_seg_pulses", "gt1r/land_ice_segments/fit_statistics/sigma_h_mean", "gt1r/land_ice_segments/fit_statistics/signal_selection_source", "gt1r/land_ice_segments/fit_statistics/signal_selection_source_status", "gt1r/land_ice_segments/fit_statistics/snr", "gt1r/land_ice_segments/fit_statistics/snr_significance", "gt1r/land_ice_segments/fit_statistics/w_surface_window_final", "gt1r/land_ice_segments/geophysical/bckgrd", "gt1r/land_ice_segments/geophysical/bsnow_conf", "gt1r/land_ice_segments/geophysical/bsnow_h", "gt1r/land_ice_segments/geophysical/bsnow_od", "gt1r/land_ice_segments/geophysical/cloud_flg_asr", "gt1r/land_ice_segments/geophysical/cloud_flg_atm", "gt1r/land_ice_segments/geophysical/dac", "gt1r/land_ice_segments/geophysical/e_bckgrd", "gt1r/land_ice_segments/geophysical/layer_flag", "gt1r/land_ice_segments/geophysical/msw_flag", "gt1r/land_ice_segments/geophysical/neutat_delay_total", "gt1r/land_ice_segments/geophysical/r_eff", "gt1r/land_ice_segments/geophysical/solar_azimuth", "gt1r/land_ice_segments/geophysical/solar_elevation", "gt1r/land_ice_segments/geophysical/tide_earth", "gt1r/land_ice_segments/geophysical/tide_earth_free2mean", "gt1r/land_ice_segments/geophysical/tide_equilibrium", "gt1r/land_ice_segments/geophysical/tide_load", "gt1r/land_ice_segments/geophysical/tide_ocean", "gt1r/land_ice_segments/geophysical/tide_pole", "gt1r/land_ice_segments/ground_track/ref_azimuth", "gt1r/land_ice_segments/ground_track/ref_coelv", "gt1r/land_ice_segments/ground_track/seg_azimuth", "gt1r/land_ice_segments/ground_track/sigma_geo_at", "gt1r/land_ice_segments/ground_track/sigma_geo_r", "gt1r/land_ice_segments/ground_track/sigma_geo_xt", "gt1r/land_ice_segments/ground_track/x_atc", "gt1r/land_ice_segments/ground_track/y_atc", "gt1r/residual_histogram/bckgrd_per_m", "gt1r/residual_histogram/bin_top_h", "gt1r/residual_histogram/count", "gt1r/residual_histogram/delta_time", "gt1r/residual_histogram/ds_segment_id", "gt1r/residual_histogram/lat_mean", "gt1r/residual_histogram/lon_mean", "gt1r/residual_histogram/pulse_count", "gt1r/residual_histogram/segment_id_list", "gt1r/residual_histogram/x_atc_mean", "gt1r/segment_quality/delta_time", "gt1r/segment_quality/record_number", "gt1r/segment_quality/reference_pt_lat", "gt1r/segment_quality/reference_pt_lon", "gt1r/segment_quality/segment_id", "gt1r/segment_quality/signal_selection_source", "gt1r/segment_quality/signal_selection_status/signal_selection_status_all", "gt1r/segment_quality/signal_selection_status/signal_selection_status_backup", "gt1r/segment_quality/signal_selection_status/signal_selection_status_confident", "gt2l/land_ice_segments/atl06_quality_summary", "gt2l/land_ice_segments/delta_time", "gt2l/land_ice_segments/h_li", "gt2l/land_ice_segments/h_li_sigma", "gt2l/land_ice_segments/latitude", "gt2l/land_ice_segments/longitude", "gt2l/land_ice_segments/segment_id", "gt2l/land_ice_segments/sigma_geo_h", "gt2l/land_ice_segments/bias_correction/fpb_mean_corr", "gt2l/land_ice_segments/bias_correction/fpb_mean_corr_sigma", "gt2l/land_ice_segments/bias_correction/fpb_med_corr", "gt2l/land_ice_segments/bias_correction/fpb_med_corr_sigma", "gt2l/land_ice_segments/bias_correction/fpb_n_corr", "gt2l/land_ice_segments/bias_correction/med_r_fit", "gt2l/land_ice_segments/bias_correction/tx_mean_corr", "gt2l/land_ice_segments/bias_correction/tx_med_corr", "gt2l/land_ice_segments/dem/dem_flag", "gt2l/land_ice_segments/dem/dem_h", "gt2l/land_ice_segments/dem/geoid_free2mean", "gt2l/land_ice_segments/dem/geoid_h", "gt2l/land_ice_segments/fit_statistics/dh_fit_dx", "gt2l/land_ice_segments/fit_statistics/dh_fit_dx_sigma", "gt2l/land_ice_segments/fit_statistics/dh_fit_dy", "gt2l/land_ice_segments/fit_statistics/h_expected_rms", "gt2l/land_ice_segments/fit_statistics/h_mean", "gt2l/land_ice_segments/fit_statistics/h_rms_misfit", "gt2l/land_ice_segments/fit_statistics/h_robust_sprd", "gt2l/land_ice_segments/fit_statistics/n_fit_photons", "gt2l/land_ice_segments/fit_statistics/n_seg_pulses", "gt2l/land_ice_segments/fit_statistics/sigma_h_mean", "gt2l/land_ice_segments/fit_statistics/signal_selection_source", "gt2l/land_ice_segments/fit_statistics/signal_selection_source_status", "gt2l/land_ice_segments/fit_statistics/snr", "gt2l/land_ice_segments/fit_statistics/snr_significance", "gt2l/land_ice_segments/fit_statistics/w_surface_window_final", "gt2l/land_ice_segments/geophysical/bckgrd", "gt2l/land_ice_segments/geophysical/bsnow_conf", "gt2l/land_ice_segments/geophysical/bsnow_h", "gt2l/land_ice_segments/geophysical/bsnow_od", "gt2l/land_ice_segments/geophysical/cloud_flg_asr", "gt2l/land_ice_segments/geophysical/cloud_flg_atm", "gt2l/land_ice_segments/geophysical/dac", "gt2l/land_ice_segments/geophysical/e_bckgrd", "gt2l/land_ice_segments/geophysical/layer_flag", "gt2l/land_ice_segments/geophysical/msw_flag", "gt2l/land_ice_segments/geophysical/neutat_delay_total", "gt2l/land_ice_segments/geophysical/r_eff", "gt2l/land_ice_segments/geophysical/solar_azimuth", "gt2l/land_ice_segments/geophysical/solar_elevation", "gt2l/land_ice_segments/geophysical/tide_earth", "gt2l/land_ice_segments/geophysical/tide_earth_free2mean", "gt2l/land_ice_segments/geophysical/tide_equilibrium", "gt2l/land_ice_segments/geophysical/tide_load", "gt2l/land_ice_segments/geophysical/tide_ocean", "gt2l/land_ice_segments/geophysical/tide_pole", "gt2l/land_ice_segments/ground_track/ref_azimuth", "gt2l/land_ice_segments/ground_track/ref_coelv", "gt2l/land_ice_segments/ground_track/seg_azimuth", "gt2l/land_ice_segments/ground_track/sigma_geo_at", "gt2l/land_ice_segments/ground_track/sigma_geo_r", "gt2l/land_ice_segments/ground_track/sigma_geo_xt", "gt2l/land_ice_segments/ground_track/x_atc", "gt2l/land_ice_segments/ground_track/y_atc", "gt2l/residual_histogram/bckgrd_per_m", "gt2l/residual_histogram/bin_top_h", "gt2l/residual_histogram/count", "gt2l/residual_histogram/delta_time", "gt2l/residual_histogram/ds_segment_id", "gt2l/residual_histogram/lat_mean", "gt2l/residual_histogram/lon_mean", "gt2l/residual_histogram/pulse_count", "gt2l/residual_histogram/segment_id_list", "gt2l/residual_histogram/x_atc_mean", "gt2l/segment_quality/delta_time", "gt2l/segment_quality/record_number", "gt2l/segment_quality/reference_pt_lat", "gt2l/segment_quality/reference_pt_lon", "gt2l/segment_quality/segment_id", "gt2l/segment_quality/signal_selection_source", "gt2l/segment_quality/signal_selection_status/signal_selection_status_all", "gt2l/segment_quality/signal_selection_status/signal_selection_status_backup", "gt2l/segment_quality/signal_selection_status/signal_selection_status_confident", "gt2r/land_ice_segments/atl06_quality_summary", "gt2r/land_ice_segments/delta_time", "gt2r/land_ice_segments/h_li", "gt2r/land_ice_segments/h_li_sigma", "gt2r/land_ice_segments/latitude", "gt2r/land_ice_segments/longitude", "gt2r/land_ice_segments/segment_id", "gt2r/land_ice_segments/sigma_geo_h", "gt2r/land_ice_segments/bias_correction/fpb_mean_corr", "gt2r/land_ice_segments/bias_correction/fpb_mean_corr_sigma", "gt2r/land_ice_segments/bias_correction/fpb_med_corr", "gt2r/land_ice_segments/bias_correction/fpb_med_corr_sigma", "gt2r/land_ice_segments/bias_correction/fpb_n_corr", "gt2r/land_ice_segments/bias_correction/med_r_fit", "gt2r/land_ice_segments/bias_correction/tx_mean_corr", "gt2r/land_ice_segments/bias_correction/tx_med_corr", "gt2r/land_ice_segments/dem/dem_flag", "gt2r/land_ice_segments/dem/dem_h", "gt2r/land_ice_segments/dem/geoid_free2mean", "gt2r/land_ice_segments/dem/geoid_h", "gt2r/land_ice_segments/fit_statistics/dh_fit_dx", "gt2r/land_ice_segments/fit_statistics/dh_fit_dx_sigma", "gt2r/land_ice_segments/fit_statistics/dh_fit_dy", "gt2r/land_ice_segments/fit_statistics/h_expected_rms", "gt2r/land_ice_segments/fit_statistics/h_mean", "gt2r/land_ice_segments/fit_statistics/h_rms_misfit", "gt2r/land_ice_segments/fit_statistics/h_robust_sprd", "gt2r/land_ice_segments/fit_statistics/n_fit_photons", "gt2r/land_ice_segments/fit_statistics/n_seg_pulses", "gt2r/land_ice_segments/fit_statistics/sigma_h_mean", "gt2r/land_ice_segments/fit_statistics/signal_selection_source", "gt2r/land_ice_segments/fit_statistics/signal_selection_source_status", "gt2r/land_ice_segments/fit_statistics/snr", "gt2r/land_ice_segments/fit_statistics/snr_significance", "gt2r/land_ice_segments/fit_statistics/w_surface_window_final", "gt2r/land_ice_segments/geophysical/bckgrd", "gt2r/land_ice_segments/geophysical/bsnow_conf", "gt2r/land_ice_segments/geophysical/bsnow_h", "gt2r/land_ice_segments/geophysical/bsnow_od", "gt2r/land_ice_segments/geophysical/cloud_flg_asr", "gt2r/land_ice_segments/geophysical/cloud_flg_atm", "gt2r/land_ice_segments/geophysical/dac", "gt2r/land_ice_segments/geophysical/e_bckgrd", "gt2r/land_ice_segments/geophysical/layer_flag", "gt2r/land_ice_segments/geophysical/msw_flag", "gt2r/land_ice_segments/geophysical/neutat_delay_total", "gt2r/land_ice_segments/geophysical/r_eff", "gt2r/land_ice_segments/geophysical/solar_azimuth", "gt2r/land_ice_segments/geophysical/solar_elevation", "gt2r/land_ice_segments/geophysical/tide_earth", "gt2r/land_ice_segments/geophysical/tide_earth_free2mean", "gt2r/land_ice_segments/geophysical/tide_equilibrium", "gt2r/land_ice_segments/geophysical/tide_load", "gt2r/land_ice_segments/geophysical/tide_ocean", "gt2r/land_ice_segments/geophysical/tide_pole", "gt2r/land_ice_segments/ground_track/ref_azimuth", "gt2r/land_ice_segments/ground_track/ref_coelv", "gt2r/land_ice_segments/ground_track/seg_azimuth", "gt2r/land_ice_segments/ground_track/sigma_geo_at", "gt2r/land_ice_segments/ground_track/sigma_geo_r", "gt2r/land_ice_segments/ground_track/sigma_geo_xt", "gt2r/land_ice_segments/ground_track/x_atc", "gt2r/land_ice_segments/ground_track/y_atc", "gt2r/residual_histogram/bckgrd_per_m", "gt2r/residual_histogram/bin_top_h", "gt2r/residual_histogram/count", "gt2r/residual_histogram/delta_time", "gt2r/residual_histogram/ds_segment_id", "gt2r/residual_histogram/lat_mean", "gt2r/residual_histogram/lon_mean", "gt2r/residual_histogram/pulse_count", "gt2r/residual_histogram/segment_id_list", "gt2r/residual_histogram/x_atc_mean", "gt2r/segment_quality/delta_time", "gt2r/segment_quality/record_number", "gt2r/segment_quality/reference_pt_lat", "gt2r/segment_quality/reference_pt_lon", "gt2r/segment_quality/segment_id", "gt2r/segment_quality/signal_selection_source", "gt2r/segment_quality/signal_selection_status/signal_selection_status_all", "gt2r/segment_quality/signal_selection_status/signal_selection_status_backup", "gt2r/segment_quality/signal_selection_status/signal_selection_status_confident", "gt3l/land_ice_segments/atl06_quality_summary", "gt3l/land_ice_segments/delta_time", "gt3l/land_ice_segments/h_li", "gt3l/land_ice_segments/h_li_sigma", "gt3l/land_ice_segments/latitude", "gt3l/land_ice_segments/longitude", "gt3l/land_ice_segments/segment_id", "gt3l/land_ice_segments/sigma_geo_h", "gt3l/land_ice_segments/bias_correction/fpb_mean_corr", "gt3l/land_ice_segments/bias_correction/fpb_mean_corr_sigma", "gt3l/land_ice_segments/bias_correction/fpb_med_corr", "gt3l/land_ice_segments/bias_correction/fpb_med_corr_sigma", "gt3l/land_ice_segments/bias_correction/fpb_n_corr", "gt3l/land_ice_segments/bias_correction/med_r_fit", "gt3l/land_ice_segments/bias_correction/tx_mean_corr", "gt3l/land_ice_segments/bias_correction/tx_med_corr", "gt3l/land_ice_segments/dem/dem_flag", "gt3l/land_ice_segments/dem/dem_h", "gt3l/land_ice_segments/dem/geoid_free2mean", "gt3l/land_ice_segments/dem/geoid_h", "gt3l/land_ice_segments/fit_statistics/dh_fit_dx", "gt3l/land_ice_segments/fit_statistics/dh_fit_dx_sigma", "gt3l/land_ice_segments/fit_statistics/dh_fit_dy", "gt3l/land_ice_segments/fit_statistics/h_expected_rms", "gt3l/land_ice_segments/fit_statistics/h_mean", "gt3l/land_ice_segments/fit_statistics/h_rms_misfit", "gt3l/land_ice_segments/fit_statistics/h_robust_sprd", "gt3l/land_ice_segments/fit_statistics/n_fit_photons", "gt3l/land_ice_segments/fit_statistics/n_seg_pulses", "gt3l/land_ice_segments/fit_statistics/sigma_h_mean", "gt3l/land_ice_segments/fit_statistics/signal_selection_source", "gt3l/land_ice_segments/fit_statistics/signal_selection_source_status", "gt3l/land_ice_segments/fit_statistics/snr", "gt3l/land_ice_segments/fit_statistics/snr_significance", "gt3l/land_ice_segments/fit_statistics/w_surface_window_final", "gt3l/land_ice_segments/geophysical/bckgrd", "gt3l/land_ice_segments/geophysical/bsnow_conf", "gt3l/land_ice_segments/geophysical/bsnow_h", "gt3l/land_ice_segments/geophysical/bsnow_od", "gt3l/land_ice_segments/geophysical/cloud_flg_asr", "gt3l/land_ice_segments/geophysical/cloud_flg_atm", "gt3l/land_ice_segments/geophysical/dac", "gt3l/land_ice_segments/geophysical/e_bckgrd", "gt3l/land_ice_segments/geophysical/layer_flag", "gt3l/land_ice_segments/geophysical/msw_flag", "gt3l/land_ice_segments/geophysical/neutat_delay_total", "gt3l/land_ice_segments/geophysical/r_eff", "gt3l/land_ice_segments/geophysical/solar_azimuth", "gt3l/land_ice_segments/geophysical/solar_elevation", "gt3l/land_ice_segments/geophysical/tide_earth", "gt3l/land_ice_segments/geophysical/tide_earth_free2mean", "gt3l/land_ice_segments/geophysical/tide_equilibrium", "gt3l/land_ice_segments/geophysical/tide_load", "gt3l/land_ice_segments/geophysical/tide_ocean", "gt3l/land_ice_segments/geophysical/tide_pole", "gt3l/land_ice_segments/ground_track/ref_azimuth", "gt3l/land_ice_segments/ground_track/ref_coelv", "gt3l/land_ice_segments/ground_track/seg_azimuth", "gt3l/land_ice_segments/ground_track/sigma_geo_at", "gt3l/land_ice_segments/ground_track/sigma_geo_r", "gt3l/land_ice_segments/ground_track/sigma_geo_xt", "gt3l/land_ice_segments/ground_track/x_atc", "gt3l/land_ice_segments/ground_track/y_atc", "gt3l/residual_histogram/bckgrd_per_m", "gt3l/residual_histogram/bin_top_h", "gt3l/residual_histogram/count", "gt3l/residual_histogram/delta_time", "gt3l/residual_histogram/ds_segment_id", "gt3l/residual_histogram/lat_mean", "gt3l/residual_histogram/lon_mean", "gt3l/residual_histogram/pulse_count", "gt3l/residual_histogram/segment_id_list", "gt3l/residual_histogram/x_atc_mean", "gt3l/segment_quality/delta_time", "gt3l/segment_quality/record_number", "gt3l/segment_quality/reference_pt_lat", "gt3l/segment_quality/reference_pt_lon", "gt3l/segment_quality/segment_id", "gt3l/segment_quality/signal_selection_source", "gt3l/segment_quality/signal_selection_status/signal_selection_status_all", "gt3l/segment_quality/signal_selection_status/signal_selection_status_backup", "gt3l/segment_quality/signal_selection_status/signal_selection_status_confident", "gt3r/land_ice_segments/atl06_quality_summary", "gt3r/land_ice_segments/delta_time", "gt3r/land_ice_segments/h_li", "gt3r/land_ice_segments/h_li_sigma", "gt3r/land_ice_segments/latitude", "gt3r/land_ice_segments/longitude", "gt3r/land_ice_segments/segment_id", "gt3r/land_ice_segments/sigma_geo_h", "gt3r/land_ice_segments/bias_correction/fpb_mean_corr", "gt3r/land_ice_segments/bias_correction/fpb_mean_corr_sigma", "gt3r/land_ice_segments/bias_correction/fpb_med_corr", "gt3r/land_ice_segments/bias_correction/fpb_med_corr_sigma", "gt3r/land_ice_segments/bias_correction/fpb_n_corr", "gt3r/land_ice_segments/bias_correction/med_r_fit", "gt3r/land_ice_segments/bias_correction/tx_mean_corr", "gt3r/land_ice_segments/bias_correction/tx_med_corr", "gt3r/land_ice_segments/dem/dem_flag", "gt3r/land_ice_segments/dem/dem_h", "gt3r/land_ice_segments/dem/geoid_free2mean", "gt3r/land_ice_segments/dem/geoid_h", "gt3r/land_ice_segments/fit_statistics/dh_fit_dx", "gt3r/land_ice_segments/fit_statistics/dh_fit_dx_sigma", "gt3r/land_ice_segments/fit_statistics/dh_fit_dy", "gt3r/land_ice_segments/fit_statistics/h_expected_rms", "gt3r/land_ice_segments/fit_statistics/h_mean", "gt3r/land_ice_segments/fit_statistics/h_rms_misfit", "gt3r/land_ice_segments/fit_statistics/h_robust_sprd", "gt3r/land_ice_segments/fit_statistics/n_fit_photons", "gt3r/land_ice_segments/fit_statistics/n_seg_pulses", "gt3r/land_ice_segments/fit_statistics/sigma_h_mean", "gt3r/land_ice_segments/fit_statistics/signal_selection_source", "gt3r/land_ice_segments/fit_statistics/signal_selection_source_status", "gt3r/land_ice_segments/fit_statistics/snr", "gt3r/land_ice_segments/fit_statistics/snr_significance", "gt3r/land_ice_segments/fit_statistics/w_surface_window_final", "gt3r/land_ice_segments/geophysical/bckgrd", "gt3r/land_ice_segments/geophysical/bsnow_conf", "gt3r/land_ice_segments/geophysical/bsnow_h", "gt3r/land_ice_segments/geophysical/bsnow_od", "gt3r/land_ice_segments/geophysical/cloud_flg_asr", "gt3r/land_ice_segments/geophysical/cloud_flg_atm", "gt3r/land_ice_segments/geophysical/dac", "gt3r/land_ice_segments/geophysical/e_bckgrd", "gt3r/land_ice_segments/geophysical/layer_flag", "gt3r/land_ice_segments/geophysical/msw_flag", "gt3r/land_ice_segments/geophysical/neutat_delay_total", "gt3r/land_ice_segments/geophysical/r_eff", "gt3r/land_ice_segments/geophysical/solar_azimuth", "gt3r/land_ice_segments/geophysical/solar_elevation", "gt3r/land_ice_segments/geophysical/tide_earth", "gt3r/land_ice_segments/geophysical/tide_earth_free2mean", "gt3r/land_ice_segments/geophysical/tide_equilibrium", "gt3r/land_ice_segments/geophysical/tide_load", "gt3r/land_ice_segments/geophysical/tide_ocean", "gt3r/land_ice_segments/geophysical/tide_pole", "gt3r/land_ice_segments/ground_track/ref_azimuth", "gt3r/land_ice_segments/ground_track/ref_coelv", "gt3r/land_ice_segments/ground_track/seg_azimuth", "gt3r/land_ice_segments/ground_track/sigma_geo_at", "gt3r/land_ice_segments/ground_track/sigma_geo_r", "gt3r/land_ice_segments/ground_track/sigma_geo_xt", "gt3r/land_ice_segments/ground_track/x_atc", "gt3r/land_ice_segments/ground_track/y_atc", "gt3r/residual_histogram/bckgrd_per_m", "gt3r/residual_histogram/bin_top_h", "gt3r/residual_histogram/count", "gt3r/residual_histogram/delta_time", "gt3r/residual_histogram/ds_segment_id", "gt3r/residual_histogram/lat_mean", "gt3r/residual_histogram/lon_mean", "gt3r/residual_histogram/pulse_count", "gt3r/residual_histogram/segment_id_list", "gt3r/residual_histogram/x_atc_mean", "gt3r/segment_quality/delta_time", "gt3r/segment_quality/record_number", "gt3r/segment_quality/reference_pt_lat", "gt3r/segment_quality/reference_pt_lon", "gt3r/segment_quality/segment_id", "gt3r/segment_quality/signal_selection_source", "gt3r/segment_quality/signal_selection_status/signal_selection_status_all", "gt3r/segment_quality/signal_selection_status/signal_selection_status_backup", "gt3r/segment_quality/signal_selection_status/signal_selection_status_confident", "orbit_info/crossing_time", "orbit_info/cycle_number", "orbit_info/lan", "orbit_info/orbit_number", "orbit_info/rgt", "orbit_info/sc_orient", "orbit_info/sc_orient_time", "quality_assessment/qa_granule_fail_reason", "quality_assessment/qa_granule_pass_fail", "quality_assessment/gt1l/delta_time", "quality_assessment/gt1l/lat_mean", "quality_assessment/gt1l/lon_mean", "quality_assessment/gt1l/signal_selection_source_fraction_0", "quality_assessment/gt1l/signal_selection_source_fraction_1", "quality_assessment/gt1l/signal_selection_source_fraction_2", "quality_assessment/gt1l/signal_selection_source_fraction_3", "quality_assessment/gt1r/delta_time", "quality_assessment/gt1r/lat_mean", "quality_assessment/gt1r/lon_mean", "quality_assessment/gt1r/signal_selection_source_fraction_0", "quality_assessment/gt1r/signal_selection_source_fraction_1", "quality_assessment/gt1r/signal_selection_source_fraction_2", "quality_assessment/gt1r/signal_selection_source_fraction_3", "quality_assessment/gt2l/delta_time", "quality_assessment/gt2l/lat_mean", "quality_assessment/gt2l/lon_mean", "quality_assessment/gt2l/signal_selection_source_fraction_0", "quality_assessment/gt2l/signal_selection_source_fraction_1", "quality_assessment/gt2l/signal_selection_source_fraction_2", "quality_assessment/gt2l/signal_selection_source_fraction_3", "quality_assessment/gt2r/delta_time", "quality_assessment/gt2r/lat_mean", "quality_assessment/gt2r/lon_mean", "quality_assessment/gt2r/signal_selection_source_fraction_0", "quality_assessment/gt2r/signal_selection_source_fraction_1", "quality_assessment/gt2r/signal_selection_source_fraction_2", "quality_assessment/gt2r/signal_selection_source_fraction_3", "quality_assessment/gt3l/delta_time", "quality_assessment/gt3l/lat_mean", "quality_assessment/gt3l/lon_mean", "quality_assessment/gt3l/signal_selection_source_fraction_0", "quality_assessment/gt3l/signal_selection_source_fraction_1", "quality_assessment/gt3l/signal_selection_source_fraction_2", "quality_assessment/gt3l/signal_selection_source_fraction_3", "quality_assessment/gt3r/delta_time", "quality_assessment/gt3r/lat_mean", "quality_assessment/gt3r/lon_mean", "quality_assessment/gt3r/signal_selection_source_fraction_0", "quality_assessment/gt3r/signal_selection_source_fraction_1", "quality_assessment/gt3r/signal_selection_source_fraction_2", "quality_assessment/gt3r/signal_selection_source_fraction_3"]} \ No newline at end of file diff --git a/icepyx/tests/behind_NSIDC_API_login.py b/icepyx/tests/behind_NSIDC_API_login.py deleted file mode 100644 index 9d4bb96df..000000000 --- a/icepyx/tests/behind_NSIDC_API_login.py +++ /dev/null @@ -1,659 +0,0 @@ -import icepyx as ipx -import pytest -import warnings - -# from unittest.mock import patch -# import mock -# import builtins -# import getpass -import os - -# test avail data and subsetting success for each input type (kml, shp, list of coords, bbox) -# check that agent key is added in event of no subsetting -# check that downloaded data is subset - - -@pytest.fixture -def reg_a(scope="module"): - return ipx.Query("ATL06", [-55, 68, -48, 71], ["2019-02-22", "2019-02-28"]) - - -# @patch('my_module.__get_input', return_value='y') - - -@pytest.fixture -def session(reg_a, scope="module"): - return reg_a._start_earthdata_session( - "icepyx_devteam", "icepyx.dev@gmail.com", os.getenv("NSIDC_LOGIN") - ) - - -# QUESTION: should we be testing to make sure the session starts? If so, how? The below doesn't work because the 'requests.sessions.Session' isn't recognized... is this a case where I'd need to have a mock session to compare it to? -# def test_earthdata_session_started(session): -# assert isinstance(session, 'requests.sessions.Session') - - -import icepyx.core.is2ref as is2ref - -########## _get_custom_options ########## -# TestQuestion: should this use a mock rather than an actual call to NSIDC? -# TestQuestion: is there a better way to deal with this than having the super long dictionary copied here? -def test_get_custom_options_output(session): - obs = is2ref._get_custom_options(session, "ATL06", "002") - exp = { - "options": [ - { - "id": "ICESAT2", - "maxGransAsyncRequest": "2000", - "maxGransSyncRequest": "100", - "spatialSubsetting": "true", - "spatialSubsettingShapefile": "true", - "temporalSubsetting": "true", - "type": "both", - } - ], - "fileformats": ["TABULAR_ASCII", "NetCDF4-CF", "Shapefile", "NetCDF-3"], - "formatreproj": [], - "reprojectionONLY": [ - "TABULAR_ASCII", - "NetCDF4-CF", - "Shapefile", - "NetCDF-3", - "No reformatting", - ], - "noproj": [], - "variables": [ - "ancillary_data/atlas_sdp_gps_epoch", - "ancillary_data/control", - "ancillary_data/data_end_utc", - "ancillary_data/data_start_utc", - "ancillary_data/end_cycle", - "ancillary_data/end_delta_time", - "ancillary_data/end_geoseg", - "ancillary_data/end_gpssow", - "ancillary_data/end_gpsweek", - "ancillary_data/end_orbit", - "ancillary_data/end_region", - "ancillary_data/end_rgt", - "ancillary_data/granule_end_utc", - "ancillary_data/granule_start_utc", - "ancillary_data/qa_at_interval", - "ancillary_data/release", - "ancillary_data/start_cycle", - "ancillary_data/start_delta_time", - "ancillary_data/start_geoseg", - "ancillary_data/start_gpssow", - "ancillary_data/start_gpsweek", - "ancillary_data/start_orbit", - "ancillary_data/start_region", - "ancillary_data/start_rgt", - "ancillary_data/version", - "ancillary_data/land_ice/dt_hist", - "ancillary_data/land_ice/fit_maxiter", - "ancillary_data/land_ice/fpb_maxiter", - "ancillary_data/land_ice/maxiter", - "ancillary_data/land_ice/max_res_ids", - "ancillary_data/land_ice/min_dist", - "ancillary_data/land_ice/min_gain_th", - "ancillary_data/land_ice/min_n_pe", - "ancillary_data/land_ice/min_n_sel", - "ancillary_data/land_ice/min_signal_conf", - "ancillary_data/land_ice/n_hist", - "ancillary_data/land_ice/nhist_bins", - "ancillary_data/land_ice/n_sigmas", - "ancillary_data/land_ice/proc_interval", - "ancillary_data/land_ice/rbin_width", - "ancillary_data/land_ice/sigma_beam", - "ancillary_data/land_ice/sigma_tx", - "ancillary_data/land_ice/t_dead", - "ancillary_data/land_ice/win_nsig", - "gt1l/land_ice_segments/atl06_quality_summary", - "gt1l/land_ice_segments/delta_time", - "gt1l/land_ice_segments/h_li", - "gt1l/land_ice_segments/h_li_sigma", - "gt1l/land_ice_segments/latitude", - "gt1l/land_ice_segments/longitude", - "gt1l/land_ice_segments/segment_id", - "gt1l/land_ice_segments/sigma_geo_h", - "gt1l/land_ice_segments/bias_correction/fpb_mean_corr", - "gt1l/land_ice_segments/bias_correction/fpb_mean_corr_sigma", - "gt1l/land_ice_segments/bias_correction/fpb_med_corr", - "gt1l/land_ice_segments/bias_correction/fpb_med_corr_sigma", - "gt1l/land_ice_segments/bias_correction/fpb_n_corr", - "gt1l/land_ice_segments/bias_correction/med_r_fit", - "gt1l/land_ice_segments/bias_correction/tx_mean_corr", - "gt1l/land_ice_segments/bias_correction/tx_med_corr", - "gt1l/land_ice_segments/dem/dem_flag", - "gt1l/land_ice_segments/dem/dem_h", - "gt1l/land_ice_segments/dem/geoid_h", - "gt1l/land_ice_segments/fit_statistics/dh_fit_dx", - "gt1l/land_ice_segments/fit_statistics/dh_fit_dx_sigma", - "gt1l/land_ice_segments/fit_statistics/dh_fit_dy", - "gt1l/land_ice_segments/fit_statistics/h_expected_rms", - "gt1l/land_ice_segments/fit_statistics/h_mean", - "gt1l/land_ice_segments/fit_statistics/h_rms_misfit", - "gt1l/land_ice_segments/fit_statistics/h_robust_sprd", - "gt1l/land_ice_segments/fit_statistics/n_fit_photons", - "gt1l/land_ice_segments/fit_statistics/n_seg_pulses", - "gt1l/land_ice_segments/fit_statistics/sigma_h_mean", - "gt1l/land_ice_segments/fit_statistics/signal_selection_source", - "gt1l/land_ice_segments/fit_statistics/signal_selection_source_status", - "gt1l/land_ice_segments/fit_statistics/snr", - "gt1l/land_ice_segments/fit_statistics/snr_significance", - "gt1l/land_ice_segments/fit_statistics/w_surface_window_final", - "gt1l/land_ice_segments/geophysical/bckgrd", - "gt1l/land_ice_segments/geophysical/bsnow_conf", - "gt1l/land_ice_segments/geophysical/bsnow_h", - "gt1l/land_ice_segments/geophysical/bsnow_od", - "gt1l/land_ice_segments/geophysical/cloud_flg_asr", - "gt1l/land_ice_segments/geophysical/cloud_flg_atm", - "gt1l/land_ice_segments/geophysical/dac", - "gt1l/land_ice_segments/geophysical/e_bckgrd", - "gt1l/land_ice_segments/geophysical/msw_flag", - "gt1l/land_ice_segments/geophysical/neutat_delay_total", - "gt1l/land_ice_segments/geophysical/r_eff", - "gt1l/land_ice_segments/geophysical/solar_azimuth", - "gt1l/land_ice_segments/geophysical/solar_elevation", - "gt1l/land_ice_segments/geophysical/tide_earth", - "gt1l/land_ice_segments/geophysical/tide_equilibrium", - "gt1l/land_ice_segments/geophysical/tide_load", - "gt1l/land_ice_segments/geophysical/tide_ocean", - "gt1l/land_ice_segments/geophysical/tide_pole", - "gt1l/land_ice_segments/ground_track/ref_azimuth", - "gt1l/land_ice_segments/ground_track/ref_coelv", - "gt1l/land_ice_segments/ground_track/seg_azimuth", - "gt1l/land_ice_segments/ground_track/sigma_geo_at", - "gt1l/land_ice_segments/ground_track/sigma_geo_xt", - "gt1l/land_ice_segments/ground_track/x_atc", - "gt1l/land_ice_segments/ground_track/y_atc", - "gt1l/residual_histogram/bckgrd_per_bin", - "gt1l/residual_histogram/count", - "gt1l/residual_histogram/delta_time", - "gt1l/residual_histogram/dh", - "gt1l/residual_histogram/ds_segment_id", - "gt1l/residual_histogram/lat_mean", - "gt1l/residual_histogram/lon_mean", - "gt1l/residual_histogram/pulse_count", - "gt1l/residual_histogram/segment_id_list", - "gt1l/residual_histogram/x_atc_mean", - "gt1l/segment_quality/delta_time", - "gt1l/segment_quality/record_number", - "gt1l/segment_quality/reference_pt_lat", - "gt1l/segment_quality/reference_pt_lon", - "gt1l/segment_quality/segment_id", - "gt1l/segment_quality/signal_selection_source", - "gt1l/segment_quality/signal_selection_status/signal_selection_status_all", - "gt1l/segment_quality/signal_selection_status/signal_selection_status_backup", - "gt1l/segment_quality/signal_selection_status/signal_selection_status_confident", - "gt1r/land_ice_segments/atl06_quality_summary", - "gt1r/land_ice_segments/delta_time", - "gt1r/land_ice_segments/h_li", - "gt1r/land_ice_segments/h_li_sigma", - "gt1r/land_ice_segments/latitude", - "gt1r/land_ice_segments/longitude", - "gt1r/land_ice_segments/segment_id", - "gt1r/land_ice_segments/sigma_geo_h", - "gt1r/land_ice_segments/bias_correction/fpb_mean_corr", - "gt1r/land_ice_segments/bias_correction/fpb_mean_corr_sigma", - "gt1r/land_ice_segments/bias_correction/fpb_med_corr", - "gt1r/land_ice_segments/bias_correction/fpb_med_corr_sigma", - "gt1r/land_ice_segments/bias_correction/fpb_n_corr", - "gt1r/land_ice_segments/bias_correction/med_r_fit", - "gt1r/land_ice_segments/bias_correction/tx_mean_corr", - "gt1r/land_ice_segments/bias_correction/tx_med_corr", - "gt1r/land_ice_segments/dem/dem_flag", - "gt1r/land_ice_segments/dem/dem_h", - "gt1r/land_ice_segments/dem/geoid_h", - "gt1r/land_ice_segments/fit_statistics/dh_fit_dx", - "gt1r/land_ice_segments/fit_statistics/dh_fit_dx_sigma", - "gt1r/land_ice_segments/fit_statistics/dh_fit_dy", - "gt1r/land_ice_segments/fit_statistics/h_expected_rms", - "gt1r/land_ice_segments/fit_statistics/h_mean", - "gt1r/land_ice_segments/fit_statistics/h_rms_misfit", - "gt1r/land_ice_segments/fit_statistics/h_robust_sprd", - "gt1r/land_ice_segments/fit_statistics/n_fit_photons", - "gt1r/land_ice_segments/fit_statistics/n_seg_pulses", - "gt1r/land_ice_segments/fit_statistics/sigma_h_mean", - "gt1r/land_ice_segments/fit_statistics/signal_selection_source", - "gt1r/land_ice_segments/fit_statistics/signal_selection_source_status", - "gt1r/land_ice_segments/fit_statistics/snr", - "gt1r/land_ice_segments/fit_statistics/snr_significance", - "gt1r/land_ice_segments/fit_statistics/w_surface_window_final", - "gt1r/land_ice_segments/geophysical/bckgrd", - "gt1r/land_ice_segments/geophysical/bsnow_conf", - "gt1r/land_ice_segments/geophysical/bsnow_h", - "gt1r/land_ice_segments/geophysical/bsnow_od", - "gt1r/land_ice_segments/geophysical/cloud_flg_asr", - "gt1r/land_ice_segments/geophysical/cloud_flg_atm", - "gt1r/land_ice_segments/geophysical/dac", - "gt1r/land_ice_segments/geophysical/e_bckgrd", - "gt1r/land_ice_segments/geophysical/msw_flag", - "gt1r/land_ice_segments/geophysical/neutat_delay_total", - "gt1r/land_ice_segments/geophysical/r_eff", - "gt1r/land_ice_segments/geophysical/solar_azimuth", - "gt1r/land_ice_segments/geophysical/solar_elevation", - "gt1r/land_ice_segments/geophysical/tide_earth", - "gt1r/land_ice_segments/geophysical/tide_equilibrium", - "gt1r/land_ice_segments/geophysical/tide_load", - "gt1r/land_ice_segments/geophysical/tide_ocean", - "gt1r/land_ice_segments/geophysical/tide_pole", - "gt1r/land_ice_segments/ground_track/ref_azimuth", - "gt1r/land_ice_segments/ground_track/ref_coelv", - "gt1r/land_ice_segments/ground_track/seg_azimuth", - "gt1r/land_ice_segments/ground_track/sigma_geo_at", - "gt1r/land_ice_segments/ground_track/sigma_geo_xt", - "gt1r/land_ice_segments/ground_track/x_atc", - "gt1r/land_ice_segments/ground_track/y_atc", - "gt1r/residual_histogram/bckgrd_per_bin", - "gt1r/residual_histogram/count", - "gt1r/residual_histogram/delta_time", - "gt1r/residual_histogram/dh", - "gt1r/residual_histogram/ds_segment_id", - "gt1r/residual_histogram/lat_mean", - "gt1r/residual_histogram/lon_mean", - "gt1r/residual_histogram/pulse_count", - "gt1r/residual_histogram/segment_id_list", - "gt1r/residual_histogram/x_atc_mean", - "gt1r/segment_quality/delta_time", - "gt1r/segment_quality/record_number", - "gt1r/segment_quality/reference_pt_lat", - "gt1r/segment_quality/reference_pt_lon", - "gt1r/segment_quality/segment_id", - "gt1r/segment_quality/signal_selection_source", - "gt1r/segment_quality/signal_selection_status/signal_selection_status_all", - "gt1r/segment_quality/signal_selection_status/signal_selection_status_backup", - "gt1r/segment_quality/signal_selection_status/signal_selection_status_confident", - "gt2l/land_ice_segments/atl06_quality_summary", - "gt2l/land_ice_segments/delta_time", - "gt2l/land_ice_segments/h_li", - "gt2l/land_ice_segments/h_li_sigma", - "gt2l/land_ice_segments/latitude", - "gt2l/land_ice_segments/longitude", - "gt2l/land_ice_segments/segment_id", - "gt2l/land_ice_segments/sigma_geo_h", - "gt2l/land_ice_segments/bias_correction/fpb_mean_corr", - "gt2l/land_ice_segments/bias_correction/fpb_mean_corr_sigma", - "gt2l/land_ice_segments/bias_correction/fpb_med_corr", - "gt2l/land_ice_segments/bias_correction/fpb_med_corr_sigma", - "gt2l/land_ice_segments/bias_correction/fpb_n_corr", - "gt2l/land_ice_segments/bias_correction/med_r_fit", - "gt2l/land_ice_segments/bias_correction/tx_mean_corr", - "gt2l/land_ice_segments/bias_correction/tx_med_corr", - "gt2l/land_ice_segments/dem/dem_flag", - "gt2l/land_ice_segments/dem/dem_h", - "gt2l/land_ice_segments/dem/geoid_h", - "gt2l/land_ice_segments/fit_statistics/dh_fit_dx", - "gt2l/land_ice_segments/fit_statistics/dh_fit_dx_sigma", - "gt2l/land_ice_segments/fit_statistics/dh_fit_dy", - "gt2l/land_ice_segments/fit_statistics/h_expected_rms", - "gt2l/land_ice_segments/fit_statistics/h_mean", - "gt2l/land_ice_segments/fit_statistics/h_rms_misfit", - "gt2l/land_ice_segments/fit_statistics/h_robust_sprd", - "gt2l/land_ice_segments/fit_statistics/n_fit_photons", - "gt2l/land_ice_segments/fit_statistics/n_seg_pulses", - "gt2l/land_ice_segments/fit_statistics/sigma_h_mean", - "gt2l/land_ice_segments/fit_statistics/signal_selection_source", - "gt2l/land_ice_segments/fit_statistics/signal_selection_source_status", - "gt2l/land_ice_segments/fit_statistics/snr", - "gt2l/land_ice_segments/fit_statistics/snr_significance", - "gt2l/land_ice_segments/fit_statistics/w_surface_window_final", - "gt2l/land_ice_segments/geophysical/bckgrd", - "gt2l/land_ice_segments/geophysical/bsnow_conf", - "gt2l/land_ice_segments/geophysical/bsnow_h", - "gt2l/land_ice_segments/geophysical/bsnow_od", - "gt2l/land_ice_segments/geophysical/cloud_flg_asr", - "gt2l/land_ice_segments/geophysical/cloud_flg_atm", - "gt2l/land_ice_segments/geophysical/dac", - "gt2l/land_ice_segments/geophysical/e_bckgrd", - "gt2l/land_ice_segments/geophysical/msw_flag", - "gt2l/land_ice_segments/geophysical/neutat_delay_total", - "gt2l/land_ice_segments/geophysical/r_eff", - "gt2l/land_ice_segments/geophysical/solar_azimuth", - "gt2l/land_ice_segments/geophysical/solar_elevation", - "gt2l/land_ice_segments/geophysical/tide_earth", - "gt2l/land_ice_segments/geophysical/tide_equilibrium", - "gt2l/land_ice_segments/geophysical/tide_load", - "gt2l/land_ice_segments/geophysical/tide_ocean", - "gt2l/land_ice_segments/geophysical/tide_pole", - "gt2l/land_ice_segments/ground_track/ref_azimuth", - "gt2l/land_ice_segments/ground_track/ref_coelv", - "gt2l/land_ice_segments/ground_track/seg_azimuth", - "gt2l/land_ice_segments/ground_track/sigma_geo_at", - "gt2l/land_ice_segments/ground_track/sigma_geo_xt", - "gt2l/land_ice_segments/ground_track/x_atc", - "gt2l/land_ice_segments/ground_track/y_atc", - "gt2l/residual_histogram/bckgrd_per_bin", - "gt2l/residual_histogram/count", - "gt2l/residual_histogram/delta_time", - "gt2l/residual_histogram/dh", - "gt2l/residual_histogram/ds_segment_id", - "gt2l/residual_histogram/lat_mean", - "gt2l/residual_histogram/lon_mean", - "gt2l/residual_histogram/pulse_count", - "gt2l/residual_histogram/segment_id_list", - "gt2l/residual_histogram/x_atc_mean", - "gt2l/segment_quality/delta_time", - "gt2l/segment_quality/record_number", - "gt2l/segment_quality/reference_pt_lat", - "gt2l/segment_quality/reference_pt_lon", - "gt2l/segment_quality/segment_id", - "gt2l/segment_quality/signal_selection_source", - "gt2l/segment_quality/signal_selection_status/signal_selection_status_all", - "gt2l/segment_quality/signal_selection_status/signal_selection_status_backup", - "gt2l/segment_quality/signal_selection_status/signal_selection_status_confident", - "gt2r/land_ice_segments/atl06_quality_summary", - "gt2r/land_ice_segments/delta_time", - "gt2r/land_ice_segments/h_li", - "gt2r/land_ice_segments/h_li_sigma", - "gt2r/land_ice_segments/latitude", - "gt2r/land_ice_segments/longitude", - "gt2r/land_ice_segments/segment_id", - "gt2r/land_ice_segments/sigma_geo_h", - "gt2r/land_ice_segments/bias_correction/fpb_mean_corr", - "gt2r/land_ice_segments/bias_correction/fpb_mean_corr_sigma", - "gt2r/land_ice_segments/bias_correction/fpb_med_corr", - "gt2r/land_ice_segments/bias_correction/fpb_med_corr_sigma", - "gt2r/land_ice_segments/bias_correction/fpb_n_corr", - "gt2r/land_ice_segments/bias_correction/med_r_fit", - "gt2r/land_ice_segments/bias_correction/tx_mean_corr", - "gt2r/land_ice_segments/bias_correction/tx_med_corr", - "gt2r/land_ice_segments/dem/dem_flag", - "gt2r/land_ice_segments/dem/dem_h", - "gt2r/land_ice_segments/dem/geoid_h", - "gt2r/land_ice_segments/fit_statistics/dh_fit_dx", - "gt2r/land_ice_segments/fit_statistics/dh_fit_dx_sigma", - "gt2r/land_ice_segments/fit_statistics/dh_fit_dy", - "gt2r/land_ice_segments/fit_statistics/h_expected_rms", - "gt2r/land_ice_segments/fit_statistics/h_mean", - "gt2r/land_ice_segments/fit_statistics/h_rms_misfit", - "gt2r/land_ice_segments/fit_statistics/h_robust_sprd", - "gt2r/land_ice_segments/fit_statistics/n_fit_photons", - "gt2r/land_ice_segments/fit_statistics/n_seg_pulses", - "gt2r/land_ice_segments/fit_statistics/sigma_h_mean", - "gt2r/land_ice_segments/fit_statistics/signal_selection_source", - "gt2r/land_ice_segments/fit_statistics/signal_selection_source_status", - "gt2r/land_ice_segments/fit_statistics/snr", - "gt2r/land_ice_segments/fit_statistics/snr_significance", - "gt2r/land_ice_segments/fit_statistics/w_surface_window_final", - "gt2r/land_ice_segments/geophysical/bckgrd", - "gt2r/land_ice_segments/geophysical/bsnow_conf", - "gt2r/land_ice_segments/geophysical/bsnow_h", - "gt2r/land_ice_segments/geophysical/bsnow_od", - "gt2r/land_ice_segments/geophysical/cloud_flg_asr", - "gt2r/land_ice_segments/geophysical/cloud_flg_atm", - "gt2r/land_ice_segments/geophysical/dac", - "gt2r/land_ice_segments/geophysical/e_bckgrd", - "gt2r/land_ice_segments/geophysical/msw_flag", - "gt2r/land_ice_segments/geophysical/neutat_delay_total", - "gt2r/land_ice_segments/geophysical/r_eff", - "gt2r/land_ice_segments/geophysical/solar_azimuth", - "gt2r/land_ice_segments/geophysical/solar_elevation", - "gt2r/land_ice_segments/geophysical/tide_earth", - "gt2r/land_ice_segments/geophysical/tide_equilibrium", - "gt2r/land_ice_segments/geophysical/tide_load", - "gt2r/land_ice_segments/geophysical/tide_ocean", - "gt2r/land_ice_segments/geophysical/tide_pole", - "gt2r/land_ice_segments/ground_track/ref_azimuth", - "gt2r/land_ice_segments/ground_track/ref_coelv", - "gt2r/land_ice_segments/ground_track/seg_azimuth", - "gt2r/land_ice_segments/ground_track/sigma_geo_at", - "gt2r/land_ice_segments/ground_track/sigma_geo_xt", - "gt2r/land_ice_segments/ground_track/x_atc", - "gt2r/land_ice_segments/ground_track/y_atc", - "gt2r/residual_histogram/bckgrd_per_bin", - "gt2r/residual_histogram/count", - "gt2r/residual_histogram/delta_time", - "gt2r/residual_histogram/dh", - "gt2r/residual_histogram/ds_segment_id", - "gt2r/residual_histogram/lat_mean", - "gt2r/residual_histogram/lon_mean", - "gt2r/residual_histogram/pulse_count", - "gt2r/residual_histogram/segment_id_list", - "gt2r/residual_histogram/x_atc_mean", - "gt2r/segment_quality/delta_time", - "gt2r/segment_quality/record_number", - "gt2r/segment_quality/reference_pt_lat", - "gt2r/segment_quality/reference_pt_lon", - "gt2r/segment_quality/segment_id", - "gt2r/segment_quality/signal_selection_source", - "gt2r/segment_quality/signal_selection_status/signal_selection_status_all", - "gt2r/segment_quality/signal_selection_status/signal_selection_status_backup", - "gt2r/segment_quality/signal_selection_status/signal_selection_status_confident", - "gt3l/land_ice_segments/atl06_quality_summary", - "gt3l/land_ice_segments/delta_time", - "gt3l/land_ice_segments/h_li", - "gt3l/land_ice_segments/h_li_sigma", - "gt3l/land_ice_segments/latitude", - "gt3l/land_ice_segments/longitude", - "gt3l/land_ice_segments/segment_id", - "gt3l/land_ice_segments/sigma_geo_h", - "gt3l/land_ice_segments/bias_correction/fpb_mean_corr", - "gt3l/land_ice_segments/bias_correction/fpb_mean_corr_sigma", - "gt3l/land_ice_segments/bias_correction/fpb_med_corr", - "gt3l/land_ice_segments/bias_correction/fpb_med_corr_sigma", - "gt3l/land_ice_segments/bias_correction/fpb_n_corr", - "gt3l/land_ice_segments/bias_correction/med_r_fit", - "gt3l/land_ice_segments/bias_correction/tx_mean_corr", - "gt3l/land_ice_segments/bias_correction/tx_med_corr", - "gt3l/land_ice_segments/dem/dem_flag", - "gt3l/land_ice_segments/dem/dem_h", - "gt3l/land_ice_segments/dem/geoid_h", - "gt3l/land_ice_segments/fit_statistics/dh_fit_dx", - "gt3l/land_ice_segments/fit_statistics/dh_fit_dx_sigma", - "gt3l/land_ice_segments/fit_statistics/dh_fit_dy", - "gt3l/land_ice_segments/fit_statistics/h_expected_rms", - "gt3l/land_ice_segments/fit_statistics/h_mean", - "gt3l/land_ice_segments/fit_statistics/h_rms_misfit", - "gt3l/land_ice_segments/fit_statistics/h_robust_sprd", - "gt3l/land_ice_segments/fit_statistics/n_fit_photons", - "gt3l/land_ice_segments/fit_statistics/n_seg_pulses", - "gt3l/land_ice_segments/fit_statistics/sigma_h_mean", - "gt3l/land_ice_segments/fit_statistics/signal_selection_source", - "gt3l/land_ice_segments/fit_statistics/signal_selection_source_status", - "gt3l/land_ice_segments/fit_statistics/snr", - "gt3l/land_ice_segments/fit_statistics/snr_significance", - "gt3l/land_ice_segments/fit_statistics/w_surface_window_final", - "gt3l/land_ice_segments/geophysical/bckgrd", - "gt3l/land_ice_segments/geophysical/bsnow_conf", - "gt3l/land_ice_segments/geophysical/bsnow_h", - "gt3l/land_ice_segments/geophysical/bsnow_od", - "gt3l/land_ice_segments/geophysical/cloud_flg_asr", - "gt3l/land_ice_segments/geophysical/cloud_flg_atm", - "gt3l/land_ice_segments/geophysical/dac", - "gt3l/land_ice_segments/geophysical/e_bckgrd", - "gt3l/land_ice_segments/geophysical/msw_flag", - "gt3l/land_ice_segments/geophysical/neutat_delay_total", - "gt3l/land_ice_segments/geophysical/r_eff", - "gt3l/land_ice_segments/geophysical/solar_azimuth", - "gt3l/land_ice_segments/geophysical/solar_elevation", - "gt3l/land_ice_segments/geophysical/tide_earth", - "gt3l/land_ice_segments/geophysical/tide_equilibrium", - "gt3l/land_ice_segments/geophysical/tide_load", - "gt3l/land_ice_segments/geophysical/tide_ocean", - "gt3l/land_ice_segments/geophysical/tide_pole", - "gt3l/land_ice_segments/ground_track/ref_azimuth", - "gt3l/land_ice_segments/ground_track/ref_coelv", - "gt3l/land_ice_segments/ground_track/seg_azimuth", - "gt3l/land_ice_segments/ground_track/sigma_geo_at", - "gt3l/land_ice_segments/ground_track/sigma_geo_xt", - "gt3l/land_ice_segments/ground_track/x_atc", - "gt3l/land_ice_segments/ground_track/y_atc", - "gt3l/residual_histogram/bckgrd_per_bin", - "gt3l/residual_histogram/count", - "gt3l/residual_histogram/delta_time", - "gt3l/residual_histogram/dh", - "gt3l/residual_histogram/ds_segment_id", - "gt3l/residual_histogram/lat_mean", - "gt3l/residual_histogram/lon_mean", - "gt3l/residual_histogram/pulse_count", - "gt3l/residual_histogram/segment_id_list", - "gt3l/residual_histogram/x_atc_mean", - "gt3l/segment_quality/delta_time", - "gt3l/segment_quality/record_number", - "gt3l/segment_quality/reference_pt_lat", - "gt3l/segment_quality/reference_pt_lon", - "gt3l/segment_quality/segment_id", - "gt3l/segment_quality/signal_selection_source", - "gt3l/segment_quality/signal_selection_status/signal_selection_status_all", - "gt3l/segment_quality/signal_selection_status/signal_selection_status_backup", - "gt3l/segment_quality/signal_selection_status/signal_selection_status_confident", - "gt3r/land_ice_segments/atl06_quality_summary", - "gt3r/land_ice_segments/delta_time", - "gt3r/land_ice_segments/h_li", - "gt3r/land_ice_segments/h_li_sigma", - "gt3r/land_ice_segments/latitude", - "gt3r/land_ice_segments/longitude", - "gt3r/land_ice_segments/segment_id", - "gt3r/land_ice_segments/sigma_geo_h", - "gt3r/land_ice_segments/bias_correction/fpb_mean_corr", - "gt3r/land_ice_segments/bias_correction/fpb_mean_corr_sigma", - "gt3r/land_ice_segments/bias_correction/fpb_med_corr", - "gt3r/land_ice_segments/bias_correction/fpb_med_corr_sigma", - "gt3r/land_ice_segments/bias_correction/fpb_n_corr", - "gt3r/land_ice_segments/bias_correction/med_r_fit", - "gt3r/land_ice_segments/bias_correction/tx_mean_corr", - "gt3r/land_ice_segments/bias_correction/tx_med_corr", - "gt3r/land_ice_segments/dem/dem_flag", - "gt3r/land_ice_segments/dem/dem_h", - "gt3r/land_ice_segments/dem/geoid_h", - "gt3r/land_ice_segments/fit_statistics/dh_fit_dx", - "gt3r/land_ice_segments/fit_statistics/dh_fit_dx_sigma", - "gt3r/land_ice_segments/fit_statistics/dh_fit_dy", - "gt3r/land_ice_segments/fit_statistics/h_expected_rms", - "gt3r/land_ice_segments/fit_statistics/h_mean", - "gt3r/land_ice_segments/fit_statistics/h_rms_misfit", - "gt3r/land_ice_segments/fit_statistics/h_robust_sprd", - "gt3r/land_ice_segments/fit_statistics/n_fit_photons", - "gt3r/land_ice_segments/fit_statistics/n_seg_pulses", - "gt3r/land_ice_segments/fit_statistics/sigma_h_mean", - "gt3r/land_ice_segments/fit_statistics/signal_selection_source", - "gt3r/land_ice_segments/fit_statistics/signal_selection_source_status", - "gt3r/land_ice_segments/fit_statistics/snr", - "gt3r/land_ice_segments/fit_statistics/snr_significance", - "gt3r/land_ice_segments/fit_statistics/w_surface_window_final", - "gt3r/land_ice_segments/geophysical/bckgrd", - "gt3r/land_ice_segments/geophysical/bsnow_conf", - "gt3r/land_ice_segments/geophysical/bsnow_h", - "gt3r/land_ice_segments/geophysical/bsnow_od", - "gt3r/land_ice_segments/geophysical/cloud_flg_asr", - "gt3r/land_ice_segments/geophysical/cloud_flg_atm", - "gt3r/land_ice_segments/geophysical/dac", - "gt3r/land_ice_segments/geophysical/e_bckgrd", - "gt3r/land_ice_segments/geophysical/msw_flag", - "gt3r/land_ice_segments/geophysical/neutat_delay_total", - "gt3r/land_ice_segments/geophysical/r_eff", - "gt3r/land_ice_segments/geophysical/solar_azimuth", - "gt3r/land_ice_segments/geophysical/solar_elevation", - "gt3r/land_ice_segments/geophysical/tide_earth", - "gt3r/land_ice_segments/geophysical/tide_equilibrium", - "gt3r/land_ice_segments/geophysical/tide_load", - "gt3r/land_ice_segments/geophysical/tide_ocean", - "gt3r/land_ice_segments/geophysical/tide_pole", - "gt3r/land_ice_segments/ground_track/ref_azimuth", - "gt3r/land_ice_segments/ground_track/ref_coelv", - "gt3r/land_ice_segments/ground_track/seg_azimuth", - "gt3r/land_ice_segments/ground_track/sigma_geo_at", - "gt3r/land_ice_segments/ground_track/sigma_geo_xt", - "gt3r/land_ice_segments/ground_track/x_atc", - "gt3r/land_ice_segments/ground_track/y_atc", - "gt3r/residual_histogram/bckgrd_per_bin", - "gt3r/residual_histogram/count", - "gt3r/residual_histogram/delta_time", - "gt3r/residual_histogram/dh", - "gt3r/residual_histogram/ds_segment_id", - "gt3r/residual_histogram/lat_mean", - "gt3r/residual_histogram/lon_mean", - "gt3r/residual_histogram/pulse_count", - "gt3r/residual_histogram/segment_id_list", - "gt3r/residual_histogram/x_atc_mean", - "gt3r/segment_quality/delta_time", - "gt3r/segment_quality/record_number", - "gt3r/segment_quality/reference_pt_lat", - "gt3r/segment_quality/reference_pt_lon", - "gt3r/segment_quality/segment_id", - "gt3r/segment_quality/signal_selection_source", - "gt3r/segment_quality/signal_selection_status/signal_selection_status_all", - "gt3r/segment_quality/signal_selection_status/signal_selection_status_backup", - "gt3r/segment_quality/signal_selection_status/signal_selection_status_confident", - "orbit_info/crossing_time", - "orbit_info/cycle_number", - "orbit_info/lan", - "orbit_info/orbit_number", - "orbit_info/rgt", - "orbit_info/sc_orient", - "orbit_info/sc_orient_time", - "quality_assessment/qa_granule_fail_reason", - "quality_assessment/qa_granule_pass_fail", - "quality_assessment/gt1l/delta_time", - "quality_assessment/gt1l/lat_mean", - "quality_assessment/gt1l/lon_mean", - "quality_assessment/gt1l/signal_selection_source_fraction_0", - "quality_assessment/gt1l/signal_selection_source_fraction_1", - "quality_assessment/gt1l/signal_selection_source_fraction_2", - "quality_assessment/gt1l/signal_selection_source_fraction_3", - "quality_assessment/gt1r/delta_time", - "quality_assessment/gt1r/lat_mean", - "quality_assessment/gt1r/lon_mean", - "quality_assessment/gt1r/signal_selection_source_fraction_0", - "quality_assessment/gt1r/signal_selection_source_fraction_1", - "quality_assessment/gt1r/signal_selection_source_fraction_2", - "quality_assessment/gt1r/signal_selection_source_fraction_3", - "quality_assessment/gt2l/delta_time", - "quality_assessment/gt2l/lat_mean", - "quality_assessment/gt2l/lon_mean", - "quality_assessment/gt2l/signal_selection_source_fraction_0", - "quality_assessment/gt2l/signal_selection_source_fraction_1", - "quality_assessment/gt2l/signal_selection_source_fraction_2", - "quality_assessment/gt2l/signal_selection_source_fraction_3", - "quality_assessment/gt2r/delta_time", - "quality_assessment/gt2r/lat_mean", - "quality_assessment/gt2r/lon_mean", - "quality_assessment/gt2r/signal_selection_source_fraction_0", - "quality_assessment/gt2r/signal_selection_source_fraction_1", - "quality_assessment/gt2r/signal_selection_source_fraction_2", - "quality_assessment/gt2r/signal_selection_source_fraction_3", - "quality_assessment/gt3l/delta_time", - "quality_assessment/gt3l/lat_mean", - "quality_assessment/gt3l/lon_mean", - "quality_assessment/gt3l/signal_selection_source_fraction_0", - "quality_assessment/gt3l/signal_selection_source_fraction_1", - "quality_assessment/gt3l/signal_selection_source_fraction_2", - "quality_assessment/gt3l/signal_selection_source_fraction_3", - "quality_assessment/gt3r/delta_time", - "quality_assessment/gt3r/lat_mean", - "quality_assessment/gt3r/lon_mean", - "quality_assessment/gt3r/signal_selection_source_fraction_0", - "quality_assessment/gt3r/signal_selection_source_fraction_1", - "quality_assessment/gt3r/signal_selection_source_fraction_2", - "quality_assessment/gt3r/signal_selection_source_fraction_3", - ], - } - assert all(keys in obs.keys() for keys in exp.keys()) - - -# the next line was causing black to fail. Since it's not being run as a test suite yet anyway, I'm taking the lazy way out -# assert obs[key] == exp[key] for key in exp.keys() - - -# NOTE: best this test can do at the moment is a successful download with no errors... need to have more code to check the files themselves -def test_download_granules_with_subsetting(reg_a, session): - path = "./downloads_subset" - reg_a.order_granules(session) - reg_a.download_granules(session, path) - - # get filename here... not best way to test for successful download though, because also need to unzip and take files out of zipped dirs - - -# with h5py.File(filename) as h5f: -# #now actually check that the max extent of the downloaded granules is subsetted and that the files were downloaded - -# # exp = ??? -# # assert: -# # obs == exp - - -# def test_download_granules_without_subsetting(reg_a, session): -# path = './downloads' -# reg_a.order_granules(session, subset=False) -# reg_a.download_granules(session, path) -# #check that the max extent of the downloaded granules isn't subsetted diff --git a/icepyx/tests/test_behind_NSIDC_API_login.py b/icepyx/tests/test_behind_NSIDC_API_login.py new file mode 100644 index 000000000..cd553f6d3 --- /dev/null +++ b/icepyx/tests/test_behind_NSIDC_API_login.py @@ -0,0 +1,48 @@ +import icepyx as ipx +import icepyx.core.Earthdata as Earthdata +import pytest +import warnings + + +# Misc notes and needed tests +# test avail data and subsetting success for each input type (kml, shp, list of coords, bbox) +# check that downloaded data is subset? or is this an NSIDC level test so long as we verify the right info is submitted? + + +@pytest.fixture +def reg(scope="module"): + return ipx.Query("ATL06", [-55, 68, -48, 71], ["2019-02-22", "2019-02-28"]) + + +@pytest.fixture +def session(reg, scope="module"): + return Earthdata._start_session( + "icepyx_devteam", "icepyx.dev@gmail.com", os.getenv("NSIDC_LOGIN") + ) + + +########## is2ref module ########## +import icepyx.core.is2ref as is2ref +import json + + +def test_get_custom_options_output(session): + obs = is2ref._get_custom_options(session, "ATL06", "004") + with open("./ATL06v04_options.json", "r") as exp: + assert all(keys in obs.keys() for keys in exp.keys()) + assert all(obs[key] == exp[key] for key in exp.keys()) + + +########## query module ########## +# NOTE: best this test can do at the moment is a successful download with no errors... +def test_download_granules_with_subsetting(reg, session): + path = "./downloads_subset" + reg.order_granules(session) + reg.download_granules(session, path) + + +# def test_download_granules_without_subsetting(reg_a, session): +# path = './downloads' +# reg_a.order_granules(session, subset=False) +# reg_a.download_granules(session, path) +# #check that the max extent of the downloaded granules isn't subsetted diff --git a/icepyx/tests/test_granules.py b/icepyx/tests/test_granules.py index a1ca29d91..902c21ae5 100644 --- a/icepyx/tests/test_granules.py +++ b/icepyx/tests/test_granules.py @@ -19,6 +19,8 @@ # def session(reg_a): # return reg_a._start_earthdata_session('icepyx_devteam', 'icepyx.dev@gmail.com', os.getenv('NSIDC_LOGIN')) +# check that agent key is added in event of no subsetting + # DevNote: clearly there's a better way that doesn't make the function so long... what is it? def test_granules_info(): @@ -595,7 +597,10 @@ def test_no_granules_in_search_results(): def test_correct_granule_list_returned(): reg_a = ipx.Query( - "ATL06", [-55, 68, -48, 71], ["2019-02-20", "2019-02-28"], version="3", + "ATL06", + [-55, 68, -48, 71], + ["2019-02-20", "2019-02-28"], + version="3", ) (obs_grans,) = reg_a.avail_granules(ids=True) diff --git a/icepyx/tests/test_is2ref.py b/icepyx/tests/test_is2ref.py index 38324bd22..3b1e3df31 100644 --- a/icepyx/tests/test_is2ref.py +++ b/icepyx/tests/test_is2ref.py @@ -27,6 +27,7 @@ def test_bad_product(): ########## about_product ########## # Note: requires internet connection +# could the github flat data option be used here? https://octo.github.com/projects/flat-data # def test_product_info(): # obs = is2ref.about_product('ATL06') # print(obs)