diff --git a/manage_GSNdata.py b/manage_GSNdata.py index e30fc313dd237f3a2496147e2b82ea558369d570..959e42b49a06ef65df787fae8a2201cc2464c0e2 100644 --- a/manage_GSNdata.py +++ b/manage_GSNdata.py @@ -32,41 +32,49 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -@date: March 19, 2020 +@date: March 27, 2020 @author: Samuel Weber, Jan Beutel and Matthias Meyer -usage: manage_GSNdata.py [-h] [--gsn2raw] [--load] [--filter] [--clean] - [--aggregationInterval AGGREGATIONINTERVAL] - [--export2csv] [--sanityPlot] [--gsn2img] - [--nImg NIMG] [-p PATH] [-y1 YEARBEGIN] - [-m1 MONTHBEGIN] [-d1 DAYBEGIN] [-y2 YEAREND] - [-m2 MONTHEND] [-d2 DAYEND] +usage: manage_GSNdata.py [-h] [--gsn2raw GSN2RAW] [--load LOAD] + [--filter FILTER] [--clean CLEAN] + [--aggregationInterval AGGREGATIONINTERVAL] + [--export2csv EXPORT2CSV] + [--sanityPlot SANITYPLOT] [--gsn2img GSN2IMG] + [--nImg NIMG] [-p PATH] [-y1 YEARBEGIN] + [-m1 MONTHBEGIN] [-d1 DAYBEGIN] [-y2 YEAREND] + [-m2 MONTHEND] [-d2 DAYEND] optional arguments: -h, --help show this help message and exit - --gsn2raw Get raw data from GSN and store locally (step1) - --load Load locally stored data (step2) - --filter Filter data (according reference values, step3) - --clean Clean data manually (step4) + --gsn2raw GSN2RAW Get raw data from GSN and store locally (step1, + default: True) + --load LOAD Load locally stored data (step2, default: True) + --filter FILTER Filter data (according reference values, step3, + default: True) + --clean CLEAN Clean data manually (step4, default: True) --aggregationInterval AGGREGATIONINTERVAL - Aggregate data over timewindows of X minutes (step5) - --export2csv Export data in yearly csv files (step6) - --sanityPlot Plot for sanity check (step7) - --gsn2img Downlod images from GSN and convert NEF to JPEG - --nImg NIMG Number of images to download and convert - -p PATH, --path PATH Relative path for the data output + Aggregate data over timewindows of X minutes (step5, + default: 60) + --export2csv EXPORT2CSV + Export data in yearly csv files (step6, default: True) + --sanityPlot SANITYPLOT + Plot for sanity check (step7, default: True) + --gsn2img GSN2IMG Downlod images from GSN and convert NEF to JPEG + (default: True) + --nImg NIMG Number of images to download and convert (default: 10) + -p PATH, --path PATH Relative path for the data output (default: ./data) -y1 YEARBEGIN, --yearBegin YEARBEGIN - Year begin + Year begin (default: 2008) -m1 MONTHBEGIN, --monthBegin MONTHBEGIN - Month begin + Month begin (default: 1) -d1 DAYBEGIN, --dayBegin DAYBEGIN - Day begin + Day begin (default: 1) -y2 YEAREND, --yearEnd YEAREND - Year end + Year end (default: today) -m2 MONTHEND, --monthEnd MONTHEND - Month end + Month end (default: today) -d2 DAYEND, --dayEnd DAYEND - Day end + Day end (default: today) ''' def main(): ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## @@ -132,6 +140,7 @@ def main(): DOWNLOAD_LIMIT = 30000 #DOWNLOAD_MAX_SIZE = 20000 DOWNLOAD_MAX_SIZE = 1000000 + #DOWNLOAD_MAX_SIZE = 800 RESIZE = False #resize_w, resize_h = 356, 536 RESIZE_WIDTH = 712 @@ -151,61 +160,61 @@ def main(): #'AD08': {'temperature_rock'}, #OK #'AD09': {'temperature_rock'}, #OK - # 'DH00': {'RD01': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, # OK - # 'DH05': {'DI55': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, # OK - # 'DH06': {'RA01': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #000deg, OK - # 'DH07': {'DI57': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, # OK - # 'DH09': {'RA02': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #000deg, OK - # 'DH12': {'BH03': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, # OK - # 'DH15': {'DI02': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #225/131/281/246deg, OK - # 'DH17': {'DI07': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #105/277/321/334deg, OK - # 'DH21': {'LS01': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #110deg, OK - # 'DH23': {'LS04': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #225deg, OK - # 'DH25': {'BH07': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #240deg, OK - # 'DH27': {'BH09': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #130deg, OK - # 'DH29': {'ST02': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #004deg, OK - # 'DH31': {'ST05': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #124deg, OK - # 'DH33': {'GU02': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #335deg, OK - # 'DH35': {'GU03': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #010deg, OK - # 'DH39': {'RG01': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, # OK - # 'DH41': {'GG52': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, # OK - # 'DH43': {'GG01': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #325deg, OK - # 'DH44': {'GG02': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #205/041deg OK - # 'DH55': {'BH10': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #280/270/294/312deg OK - # 'DH56': {'RL01': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #309deg OK - # 'DH57': {'GU04': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #014deg, OK - # 'DH62': {'BH12': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #140deg, OK - # 'DH63': {'BH13': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #090/000deg, OK - # 'DH64': {'LS05': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #318/330deg, OK - # 'DH66': {'GG66': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, #, OK - # 'DH67': {'GG67': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, #, OK - # 'DH70': {'RA03': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #000deg, OK - # 'DH81': {'RAND': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, #, OK - # 'DH82': {'WYS1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #170deg, OK - # 'DH83': {'LS11': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #262deg, OK - # 'DH84': {'LS12': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #006deg, OK - # 'DH86': {'DI03': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #000deg, OK - # 'DH87': {'DI04': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #000deg, OK - # 'DH88': {'LS06': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #000deg, OK - # #'DH89': {'SA01': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #000deg - # #'DH91': {'SATT': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, # - - # 'DH13': {'DH13': {'vaisalawxt520prec', 'vaisalawxt520windpth'}}, # - # 'DH42': {'DH42': {'vaisalawxt520prec', 'vaisalawxt520windpth'}}, # - # 'DH68': {'DH68': {'vaisalawxt520prec', 'vaisalawxt520windpth'}}, # - # 'DH69': {'DH69': {'vaisalawxt520prec', 'vaisalawxt520windpth'}}, # - # 'DH73': {'DH73': {'radiometer__conv'}}, # - - # 'PE01': {'DIS1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK - # 'PE02': {'DIS2': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK - # 'PE03': {'RIT1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK - # 'PE04': {'GRU1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK - # 'PE05': {'JAE1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK - # 'PE06': {'SCH1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK - # 'PE07': {'MUA1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK - # 'PE08': {'LAR1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK - # 'PE09': {'LAR2': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK - # 'PE10': {'COR1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK + # 'DH00': {'RD01': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, # OK + # 'DH05': {'DI55': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, # OK + # 'DH06': {'RA01': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #000deg, OK + # 'DH07': {'DI57': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, # OK + # 'DH09': {'RA02': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #000deg, OK + # 'DH12': {'BH03': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, # OK + # 'DH15': {'DI02': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #225/131/281/246deg, OK + # 'DH17': {'DI07': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #105/277/321/334deg, OK + # 'DH21': {'LS01': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #110deg, OK + # 'DH23': {'LS04': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #225deg, OK + # 'DH25': {'BH07': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #240deg, OK + # 'DH27': {'BH09': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #130deg, OK + # 'DH29': {'ST02': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #004deg, OK + # 'DH31': {'ST05': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #124deg, OK + # 'DH33': {'GU02': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #335deg, OK + # 'DH35': {'GU03': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #010deg, OK + # 'DH39': {'RG01': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, # OK + # 'DH41': {'GG52': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, # OK + # 'DH43': {'GG01': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #325deg, OK + # 'DH44': {'GG02': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #205/041deg OK + # 'DH55': {'BH10': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #280/270/294/312deg OK + # 'DH56': {'RL01': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #309deg OK + # 'DH57': {'GU04': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #014deg, OK + # 'DH62': {'BH12': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #140deg, OK + # 'DH63': {'BH13': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #090/000deg, OK + # 'DH64': {'LS05': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #318/330deg, OK + # 'DH66': {'GG66': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, #, OK + # 'DH67': {'GG67': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, #, OK + # 'DH70': {'RA03': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #000deg, OK + # 'DH81': {'RAND': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, #, OK + # 'DH82': {'WYS1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #170deg, OK + # 'DH83': {'LS11': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #262deg, OK + # 'DH84': {'LS12': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #006deg, OK + # 'DH86': {'DI03': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #000deg, OK + # 'DH87': {'DI04': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #000deg, OK + # 'DH88': {'LS06': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #000deg, OK + # #'DH89': {'SA01': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #000deg + # #'DH91': {'SATT': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, # + + # 'DH13': {'DH13': {'vaisalawxt520prec', 'vaisalawxt520windpth'}}, # + # 'DH42': {'DH42': {'vaisalawxt520prec', 'vaisalawxt520windpth'}}, # + # 'DH68': {'DH68': {'vaisalawxt520prec', 'vaisalawxt520windpth'}}, # + # 'DH69': {'DH69': {'vaisalawxt520prec', 'vaisalawxt520windpth'}}, # + # 'DH73': {'DH73': {'radiometer__conv'}}, # + + # 'PE01': {'DIS1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK + # 'PE02': {'DIS2': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK + # 'PE03': {'RIT1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK + # 'PE04': {'GRU1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK + # 'PE05': {'JAE1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK + # 'PE06': {'SCH1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK + # 'PE07': {'MUA1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK + # 'PE08': {'LAR1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK + # 'PE09': {'LAR2': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK + # 'PE10': {'COR1': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #, OK #'JJ01': {'resistivity_rock', 'temperature_rock'}, #OK #'JJ02': {'resistivity_rock', 'temperature_rock'}, #OK @@ -224,43 +233,43 @@ def main(): #'JJ25': {'temperature_rock'}, # - 'MH01': {'MH01': {'displacement', 'temperature_fracture', 'temperature_rock'}}, #ok - 'MH02': {'MH02': {'displacement', 'temperature_fracture', 'temperature_rock'}}, #ok - 'MH03': {'MH03': {'displacement', 'temperature_fracture', 'temperature_rock'}}, #ok - 'MH04': {'MH04': {'displacement', 'temperature_fracture', 'temperature_rock'}}, #ok - 'MH05': {'MH05': {'resistivity_fracture', 'temperature_fracture'}}, #ok but resistivity - 'MH06': {'MH06': {'displacement', 'temperature_rock'}}, #ok - 'MH07': {'MH07': {'resistivity_fracture', 'temperature_fracture'}}, #ok but resistivity - 'MH08': {'MH08': {'displacement', 'temperature_rock'}}, #ok - 'MH09': {'MH09': {'displacement', 'temperature_fracture'}}, #ok - 'MH10': {'MH10': {'resistivity_rock', 'temperature_rock'}}, #ok but resistivity - 'MH11': {'MH11': {'resistivity_rock', 'temperature_rock'}}, #ok but resistivity_rock - 'MH12': {'MH12': {'resistivity_rock', 'temperature_rock'}}, #ok but resistivity - 'MH18': {'MH18': {'displacement'}}, #ok - 'MH20': {'MH20': {'displacement'}}, #ok - 'MH21': {'MH21': {'displacement'}}, #ok - 'MH22': {'MH22': {'displacement'}}, #ok - 'MH27': {'MH27': {'temperature_rock'}}, #ok - 'MH30': {'MH30': {'temperature_rock'}}, #ok - 'MH46': {'MH46': {'temperature_rock'}}, #ok - 'MH47': {'MH47': {'temperature_rock'}}, #ok - - 'MH15': {'MH15': {'radiometer__conv'}}, #ok - 'MH25': {'MH25': {'vaisalawxt520prec', 'vaisalawxt520windpth'}}, #ok - - 'MH33': {'MH33': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #ok - 'MH34': {'MH34': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #ok - 'MH35': {'MH35': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #ok - 'MH40': {'MH40': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, #ok - 'MH42': {'MH42': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, #ok - 'MH43': {'MH43': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, +# 'MH01': {'MH01': {'displacement', 'temperature_fracture', 'temperature_rock'}}, #ok +# 'MH02': {'MH02': {'displacement', 'temperature_fracture', 'temperature_rock'}}, #ok +# 'MH03': {'MH03': {'displacement', 'temperature_fracture', 'temperature_rock'}}, #ok +# 'MH04': {'MH04': {'displacement', 'temperature_fracture', 'temperature_rock'}}, #ok +# 'MH05': {'MH05': {'resistivity_fracture', 'temperature_fracture'}}, #ok but resistivity +# 'MH06': {'MH06': {'displacement', 'temperature_rock'}}, #ok +# 'MH07': {'MH07': {'resistivity_fracture', 'temperature_fracture'}}, #ok but resistivity +# 'MH08': {'MH08': {'displacement', 'temperature_rock'}}, #ok +# 'MH09': {'MH09': {'displacement', 'temperature_fracture'}}, #ok +# 'MH10': {'MH10': {'resistivity_rock', 'temperature_rock'}}, #ok but resistivity +# 'MH11': {'MH11': {'resistivity_rock', 'temperature_rock'}}, #ok but resistivity_rock +# 'MH12': {'MH12': {'resistivity_rock', 'temperature_rock'}}, #ok but resistivity +# 'MH18': {'MH18': {'displacement'}}, #ok +# 'MH20': {'MH20': {'displacement'}}, #ok +# 'MH21': {'MH21': {'displacement'}}, #ok +# 'MH22': {'MH22': {'displacement'}}, #ok +# 'MH27': {'MH27': {'temperature_rock'}}, #ok +# 'MH30': {'MH30': {'temperature_rock'}}, #ok +# 'MH46': {'MH46': {'temperature_rock'}}, #ok +# 'MH47': {'MH47': {'temperature_rock'}}, #ok +# +# 'MH15': {'MH15': {'radiometer__conv'}}, #ok +# 'MH25': {'MH25': {'vaisalawxt520prec', 'vaisalawxt520windpth'}}, #ok +# +# 'MH33': {'MH33': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #ok +# 'MH34': {'MH34': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #ok +# 'MH35': {'MH35': {'gps_differential__batch__daily','gps_differential__rtklib__daily','gps_inclinometer'}}, #ok +# 'MH40': {'MH40': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, #ok +# 'MH42': {'MH42': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, #ok +# 'MH43': {'MH43': {'gps_differential__batch__daily','gps_differential__rtklib__daily'}}, } DEPO_GPS = ['MH33', 'MH34', 'MH35', 'MH40', 'MH42', 'MH43'] DEPO_IMG = { #'MH19': {'camera_pos19__scaled'} - #'MH19': {'binary__mapped'} + 'MH19': {'binary__mapped'} } @@ -462,6 +471,8 @@ def main(): #plt.figure(figsize=(24/2.54, 18/2.54), facecolor='w', edgecolor='k') fig = plt.figure(figsize=(40/2.54, 18/2.54), facecolor='w', edgecolor='k') + plt.subplots_adjust(left=0.05, right=0.95, bottom=0.05, top=0.85) # left=0.125, right=0.9, bottom=0.1, top=0.9, wspace=0.2, hspace=0.2 + for i, col in enumerate(df_agg): if col not in ['device_id', 'device_type', 'position', 'label', 'ref1', 'ref2', 'ref3', 'ref4', 'ref5', 'ref6', 'sd_e', 'sd_n', 'sd_h', 'version', 'reference_label', 'processing_time', 'ratio_of_fixed_ambiguities']: #print(df_agg[col]) @@ -473,10 +484,11 @@ def main(): # any legend location is too slow # #plt.legend() plt.legend(loc="upper left") - plt.xlim([TBEG, TEND]) - plt.tight_layout() - if fig.get_axes(): # Do stuff when the figure isn't empty. - plt.savefig('{:s}/timeseries_sanity_plots/{:s}_{:s}_all.png'.format(PATH_DATA , label, vsensor), dpi=300) + if deployment == 'matterhorn': + plt.xlim([TBEG, TEND]) + #plt.tight_layout() + #if fig.get_axes(): # Do stuff when the figure isn't empty. + plt.savefig('{:s}/timeseries_sanity_plots/{:s}_{:s}_all.png'.format(PATH_DATA , label, vsensor), dpi=300) # plt.close('all') print() @@ -502,6 +514,15 @@ def parseArguments(): import argparse import datetime as dt + def true_or_false(arg): + ua = str(arg).upper() + if 'TRUE'.startswith(ua): + return True + elif 'FALSE'.startswith(ua): + return False + else: + pass #error condition maybe? + # Create argument parser parser = argparse.ArgumentParser() @@ -509,23 +530,25 @@ def parseArguments(): #parser.add_argument("positionalArgument1", help="Positional argument 1", type=float) # Optional arguments - parser.add_argument("--gsn2raw", help="Get raw data from GSN and store locally (step1)", action='store_false') - parser.add_argument("--load", help="Load locally stored data (step2)", action='store_false') - parser.add_argument("--filter", help="Filter data (according reference values, step3)", action='store_false') - parser.add_argument("--clean", help="Clean data manually (step4)", action='store_false') - parser.add_argument("--aggregationInterval", help="Aggregate data over timewindows of X minutes (step5)", type=int, default=60) - parser.add_argument("--export2csv", help="Export data in yearly csv files (step6)", action='store_false') - parser.add_argument("--sanityPlot", help="Plot for sanity check (step7)", action='store_false') - parser.add_argument("--gsn2img", help="Downlod images from GSN and convert NEF to JPEG", action='store_false') - parser.add_argument("--nImg", help="Number of images to download and convert", type=int, default=10) - parser.add_argument("-p", "--path", help="Relative path for the data output", type=str, default='./data') - parser.add_argument("-y1", "--yearBegin", help="Year begin", type=int, default=2008) - #parser.add_argument("-y1", "--yearBegin", help="Year begin", type=int, default=2018) - parser.add_argument("-m1", "--monthBegin", help="Month begin", type=int, default=1) - parser.add_argument("-d1", "--dayBegin", help="Day begin", type=int, default=1) - parser.add_argument("-y2", "--yearEnd", help="Year end", type=int, default=dt.datetime.now().year) - parser.add_argument("-m2", "--monthEnd", help="Month end", type=int, default=dt.datetime.now().month) - parser.add_argument("-d2", "--dayEnd", help="Day end", type=int, default=dt.datetime.now().day) + parser.add_argument("--gsn2raw", help="Get raw data from GSN and store locally (step1, default: %(default)s)", type=true_or_false, default=True) + #parser.add_argument("--gsn2raw", dest='gsn2raw', help="Get raw data from GSN and store locally (step1)", action='store_true') + #parser.add_argument("--no-gsn2raw", dest='gsn2raw', help=argparse.SUPPRESS, action='store_false') + #parser.set_defaults(gsn2raw=True) + parser.add_argument("--load", help="Load locally stored data (step2, default: %(default)s)", type=true_or_false, default=True) + parser.add_argument("--filter", help="Filter data (according reference values, step3, default: %(default)s)", type=true_or_false, default=True) + parser.add_argument("--clean", help="Clean data manually (step4, default: %(default)s)", type=true_or_false, default=True) + parser.add_argument("--aggregationInterval", help="Aggregate data over timewindows of X minutes (step5, default: %(default)s)", type=int, default=60) + parser.add_argument("--export2csv", help="Export data in yearly csv files (step6, default: %(default)s)", type=true_or_false, default=True) + parser.add_argument("--sanityPlot", help="Plot for sanity check (step7, default: %(default)s)", type=true_or_false, default=True) + parser.add_argument("--gsn2img", help="Downlod images from GSN and convert NEF to JPEG (default: %(default)s)", type=true_or_false, default=True) + parser.add_argument("--nImg", help="Number of images to download and convert (default: %(default)s)", type=int, default=10) + parser.add_argument("-p", "--path", help="Relative path for the data output (default: %(default)s)", type=str, default='./data') + parser.add_argument("-y1", "--yearBegin", help="Year begin (default: %(default)s)", type=int, default=2008) + parser.add_argument("-m1", "--monthBegin", help="Month begin (default: %(default)s)", type=int, default=1) + parser.add_argument("-d1", "--dayBegin", help="Day begin (default: %(default)s)", type=int, default=1) + parser.add_argument("-y2", "--yearEnd", help="Year end (default: today)", type=int, default=dt.datetime.now().year) + parser.add_argument("-m2", "--monthEnd", help="Month end (default: today)", type=int, default=dt.datetime.now().month) + parser.add_argument("-d2", "--dayEnd", help="Day end (default: today)", type=int, default=dt.datetime.now().day) # Print version #parser.add_argument("--version", action="version", version='%(prog)s - Version 1.0')