1. 02 Feb, 2018 1 commit
    • Daniel Scheffler's avatar
      Fixed issue #50 (Invalid job progress statistics in case a subsystem fails... · ff539709
      Daniel Scheffler authored
      Fixed issue #50 (Invalid job progress statistics in case a subsystem fails after another one of the same scene ID already succeeded in the same mapper) by adding class attribute GMS_object.proc_status_all_GMSobjs and GMS_object.proc_status() property. Added gms_object.update_proc_status() decorator.
      Revised exception handler. Improved test_exception_handler module.
      Fixed a severe bug that copied the same dataset list to all subsequent process controllers.
      Former-commit-id: cd572222
      Former-commit-id: 0cce191d
      ff539709
  2. 17 Jan, 2018 1 commit
  3. 04 Dec, 2017 1 commit
  4. 01 Dec, 2017 2 commits
  5. 30 Nov, 2017 2 commits
  6. 27 Nov, 2017 1 commit
  7. 24 Nov, 2017 2 commits
  8. 23 Nov, 2017 1 commit
  9. 18 Oct, 2017 1 commit
  10. 28 Sep, 2017 1 commit
  11. 27 Sep, 2017 2 commits
  12. 26 Sep, 2017 1 commit
  13. 25 Sep, 2017 1 commit
  14. 22 Sep, 2017 1 commit
  15. 21 Sep, 2017 1 commit
  16. 15 Sep, 2017 1 commit
  17. 30 Aug, 2017 1 commit
  18. 18 Jul, 2017 1 commit
  19. 06 Jul, 2017 1 commit
  20. 30 Jun, 2017 1 commit
  21. 01 Jun, 2017 1 commit
  22. 31 May, 2017 1 commit
    • Daniel Scheffler's avatar
      Bugfix · 3f982dec
      Daniel Scheffler authored
      bin.run_gms:
      - modified run_from_entityids()
      geomultisens.misc.database_tools:
      - delete_processing_results(): Fix for warning ".fuse_hidden.. remaining"
      updated __version__ and __versionalias__
      Former-commit-id: 5acce159
      Former-commit-id: 7e18bab0
      3f982dec
  23. 24 May, 2017 1 commit
  24. 23 May, 2017 1 commit
  25. 11 Apr, 2017 1 commit
    • Daniel Scheffler's avatar
      added a first version of a console argument parser · 7d61e2de
      Daniel Scheffler authored
      algorithms.L1A_P:
      - converted pyhdf import to soft import
      misc.database_tools:
      - GMS_JOB: fix
      - added from_entityIDlist(): dummy version
      run_at_geoms.sh / run_at_geoms_deployed.sh:
      - updated call
      run_gms:
      - added run_from_jobid()
      - added run_from_sceneids()
      - added run_from_entityids()
      - added run_from_constraints()
      - added argument parser
      updated __version__
      Former-commit-id: e083eae3
      Former-commit-id: c8909644
      7d61e2de
  26. 30 Mar, 2017 1 commit
  27. 29 Mar, 2017 1 commit
    • Daniel Scheffler's avatar
      job status is now reset to 'pending'. · c0f057b4
      Daniel Scheffler authored
       misc.database_tools:
       - get_postgreSQL_value(): now replaces all " ' " with "" due to compatibility issues to postgreSQL syntax
       - update_records_in_postgreSQLdb(): now uses execute_pgSQL_query for better error reporting
       - GMS_JOB.reset_job_progress(): now resets status to 'pending'
       config.Job:
       - status is now set to 'pending'
      - updated __version__
      Former-commit-id: c5525fec
      Former-commit-id: 2cbb0083
      c0f057b4
  28. 28 Mar, 2017 1 commit
    • Daniel Scheffler's avatar
      revised job statistics updater · 2b66ea9d
      Daniel Scheffler authored
       misc.database_tools:
       - added increment_decrement_arrayCol_in_postgreSQLdb()
       - GMS_JOB:
           - _populate_jobAttrs_from_sceneInfoGDF() / create(): updated statistics
           - added reset_job_progress()
           - implemented update_db_entry()
       misc.definition_dicts:
       - updated db_jobs_statistics_def
       misc.exception_handler:
       - log_uncaught_exceptions.wrapped_GMS_mapper(): revised statistics updating scheme (now also properly working for scenes with subsystems
       processing.process_controller.process_controller:
       - run_all_processors(): added reset of job progress in database
      - updated __version__
      Former-commit-id: 811477d3
      Former-commit-id: 0b237688
      2b66ea9d
  29. 27 Mar, 2017 1 commit
    • Daniel Scheffler's avatar
      statistics column of jobs table in pgSQL database is now properly updated during processing · f65899ca
      Daniel Scheffler authored
      misc.database_tools.GMS_JOB:
      - added attributes 'status' and 'statistics'
      - db_entry: added docstring
      - _populate_jobAttrs_from_sceneInfoGDF(): now also sets self.statistics
      - create(): now also sets self.statistics
      misc.definition_dicts:
      - added dictionary 'db_jobs_statistics_def': added automatic de- and incrementing of scene count included in statistics column of jobs table in database
      misc.exception_handler:
      - trace_unhandled_exceptions.wrapped_GMS_mapper():
      - updated __version__
      Former-commit-id: d5593e78
      Former-commit-id: cd1e7a26
      f65899ca
  30. 23 Feb, 2017 1 commit
    • Daniel Scheffler's avatar
      Bugfix for issues writing MGRS tiles in case of scenes that have an overlap to... · ba54ca0f
      Daniel Scheffler authored
      Bugfix for issues writing MGRS tiles in case of scenes that have an overlap to neighbour UTM zone; added feature for job creation from scene IDs
      algorithms.gms_object:
      - get_subset_obj(): implemented keyword out_prj
      - to_MGRS_tiles(): fix for not respecting output projection
      misc.database_tools.GMS_JOB:
      - from_dictlist(): moved parts to _get_validated_sceneInfoGDFs() and _populate_jobAttrs_from_sceneInfoGDF()
      - added from_sceneIDlist()
      - added _get_validated_sceneInfoGDFs()
      - added _populate_jobAttrs_from_sceneInfoGDF()
      misc.path_generator.path_generator:
      - added get_pathes_all_procdata(): not fully implemented yet
      processing.multiproc:
      - MAP: bugfix for ignoring CFG.job.CPUs in case CPUs is given
      - updated __version__
      Former-commit-id: 9b5925c8
      Former-commit-id: 12c9f4fe
      ba54ca0f
  31. 25 Jan, 2017 2 commits
  32. 24 Jan, 2017 1 commit
    • Daniel Scheffler's avatar
      algorithms.gms_object.GMS_object: · cef2a152
      Daniel Scheffler authored
      - from_tiles(): bugfix for not updating array-dependent attributes
      - from_sensor_subsystems(): bugfix for not recreating loggers after subsystem merging
      - removed deprecated MetaObj2ODict()
      - get_subset_obj(): now operable from imBounds; fixed inconsistent attribute names
      - added to_tiles()
      algorithms.L2B_P.L2B_object:
      - added log message
      algorithms.METADATA:
      - get_LayerbandsAssignment: bugfix
      misc.helper_functions:
      - cut_GMS_obj_into_blocks(): now calls GMS_object.to_tiles()
      - revised cornerLonLat_to_postgreSQL_poly()
      misc.mgrs_tile:
      - EPSG: bugfix
      processing.pipeline:
      - L1A_map_1() and L2A_map(): changed call for object conversion into tiles
      - removed /database/cloud_classifier from version controlling -> now external resource
      - updated __version__
      Former-commit-id: c9f38cb9
      Former-commit-id: 9b805282
      cef2a152
  33. 16 Jan, 2017 1 commit
    • Daniel Scheffler's avatar
      third version of wrapper for atmospheric correction (first working version) · 6fa974e0
      Daniel Scheffler authored
      algorithms.GEOPROCESSING:
      - GEOPROCESSING: conversion_type_optical value renamed from 'Ref' to 'TOA_Ref' and 'BOA_Ref'
      - added keyword 'meshwidth' to the following functions (allows much faster processing):
          - zoom_2Darray_to_shapeFullArr()
          - adjust_acquisArrProv_to_shapeFullArr()
          - get_lonlat_coord_array():revised calculation of meshgrid
          - calc_VZA_array()
          - calc_AcqTime_array()
          - calc_SZA_SAA_array()
      - calc_RAA_array(): now receives a VAA_array instead of VAA_mean
      algorithms.gms_object:
      - added attributes 'fullSceneCornerPos' and 'fullSceneCornerPos'
      - logger: added assertion
      - added property 'log'
      - added dem deleter
      - revised property 'ac_options'
      - added property 'ac_errors'
      - added property 'subset'
      - refactored attribute 'acquisition_date' to 'acq_datetime' containing a full datetime timestamp in UTC time zone
      - to_GMS_file(): updated timestamp format
      algorithms.L1A_P.L1A_object:
      - get_MetaObj(): now also updates 'acq_datetime'
      - refactored get_MetaObj() to import_metadata()
      - included set_arr_desc_from_MetaObj() in import_metadata()
      - calc_TOARadRefTemp(): updated in the context of "conversion_type_optical" value change to 'TOA_Ref'
      - calc_cloud_mask(): temporarily excluded Sentinel-2 here; added code draft of S2A cloud mask calculation
      - calc_corner_positions(): major revision -> now calculates trueDataCornerPos/-LonLat AND fullSceneCornerPos/-LonLat
      - calc_center_AcqTime() now also updates 'acq_datetime'
      algorithms.L1B_P.ref_Scene:
      - moved _get_reference_image_params_pgSQL() and _sceneIDList_to_filt_overlap_scenes() to L1B_object
      algorithms.L1C_P.L1C_object:   -> major revision
      - added properties 'lonlat_arr', 'VZA_arr', 'VAA_arr', 'SZA_arr', 'SAA_arr', 'RAA_arr' based on get_lonlat_coord_array() and calc_acquisition_illumination_geometry()
      - removed deprecated functions get_lonlat_coord_array() and calc_acquisition_illumination_geometry()
      - revised delete_ac_input_arrays()
      algorithms.L1C_P.AtmCorr:
      - revised property 'logger'
      - metadata: added some tests
      - revised _meta_get_viewing_zenith(), _meta_get_viewing_azimuth(), _meta_get_relative_viewing_azimuth()
      - added _meta_get_aux_data()
      - added _get_dem()
      - added dummy version of _get_srf()
      - run_atmospheric_correction(): added docstring; some minor revisions
      - _join_results_to_inObjs(): now working
      algorithms.METADATA:
      - added property AcqDateTime: returns a full datetime object with UTC timezone
      - revised setters for AcqDate, AcqTime and AcqDateTime -> timezone now properly handled
      - refactored 'Meta2ODict' to 'to_meta_odict'
      - calc_center_acquisition_time(): now also sets AcqDateTime
      - get_LayerBandsAssignment(): processing level is now properly handled (in the context of missing bands after atmospheric correction)
      misc.database_tools:
      - renamed keyword 'trueDataCornerLonLat' to 'tgt_corners_lonlat' in the following functions:
          - get_pgSQL_geospatial_query_cond()
          - get_overlapping_scenes_from_postgreSQLdb()
          - get_overlapping_MGRS_tiles()
          - get_overlapping_MGRS_tiles2()
      misc.definitions_dicts:
      - added is_dataset_provided_as_fullScene()
      misc.exception_handler:
      - log_uncaught_exceptions:  exception handling is now optional and can be turned off via config
      misc.helper_functions:
      - modified some docstrings
      misc.logging.GMS_logger:
      - added property 'captured_stream' (not yet working)
      - added draft of StringIO handler (not yet working)
      misc.logging.path-generator:
      - get_path_srf_file: bugfix
      processing.pipeline:
      - L1A_map(): updated calls
      - L1A_map_1(): updated calls
      - revised L1C_map()
      processing.process_controller:
      - add_local_availability(): added comments and revised structure
      config:
      - Job:
          - added attribute 'disable_exception_handler'
          - added attribute 'scale_factor_BOARef'
          - added attribute 'scale_factor_errors_ac'
          - added assertion
      pg_SQLdb:
      - table config:
          - added fields 'scale_factor_BOARef' and 'scale_factor_errors_ac'
          - changed value of 'conversion_type_optical' to 'BOA_Ref'
      - updated __version__
      6fa974e0
  34. 11 Jan, 2017 1 commit
    • Daniel Scheffler's avatar
      second (not completely working) version of wrapper for atmospheric correction · d06523f9
      Daniel Scheffler authored
      algorithms.GEOPROCESSING:
      - revised imports
      algorithms.gms_object:
      - gms_object:
          - revised imports
          - added property 'dem': gms_object can now directly provide a corresponding SRTM DEM
          - arr: bandnames of property 'arr' are now in the form [B01, .., B8A,] and correspond to LayerBandsAssignment
          - added property 'ac_options': getter or options dictionary needed for atmospheric correction
          - from_disk(): added time zone to 'acquisition_date' datetime object
      - added class failed_GMS_object (based on earlier version from helper functions)
      algorithms.L1A_P.L1A_object:
      - revised imports
      - calc_TOARadRefTemp(): bugfix for wrong nodata value in out returned array in case of Sentinel-2
      - update_spec_vals_according_to_dtype: bugfix for not updating L1A_object.arr.nodata
      algorithms.L1B_P:
      - revised imports
      algorithms.L1C_P:
      - L1C_object:
          - get_lonlat_coord_array(): changed handling of return values
          - calc_acquisition_illumination_geometry(): changed handling of return values
      - AtmCorr:
          -  added attribute 'ac_input' containing input args/kwargs of atmospheric correction
          - data: now uses L1C_obj.arr.bandnames for lopping over bands
          - added property 'nodata'
          - added property 'tile_name'
          - added property 'band_spatial_sampling'
          - added property 'nodata'
          - added property 'nodata'
          - revised property 'metadata'
          - added _meta_get_spatial_samplings()
          - added _meta_get_solar_irradiance()
          - added _meta_get_viewing_zenith()
          - added _meta_get_viewing_azimuth()
          - added _meta_get_relative_viewing_azimuth()
          - revised run_atmospheric_correction()
          - revised join_results_to_inObjs()
      algorithms.METADATA
      - revised imports
      - added 'ScaleFactor' to meta_odict
      io.Input_reader:
      - fixed some bad type hints
      - SRF_reader(): moved path generator functionality to path_generator
      - added open_specific_file_within_archive() (moved)
      - added get_dem_by_extent(): new function for reading SRTM DEM data and warping to a given pixel grid
      io.Output_writer:
      - revised imports
      - fixed some bad type hints
      - added 'ScaleFactor' to enviHdr_keyOrder
      misc.__init__:
      - added __all__
      misc.database_tools:
      - fixed some bad type hints
      - get_overlapping_scenes_from_postgreSQLdb(): bugfix for wrong indexing
      misc.definition_dicts:
      - new module, consisting of earlier functions from helper_functions
      misc.exception_handler:
      - new module, consisting of earlier functions from helper_functions
      misc.helper_functions:
      - moved trace_unhandled_exceptions(), log_uncaught_exceptions() to misc.exception_handler
      - moved failed_GMS_object to gms_object
      - moved get_job_summary to process_controller
      - fixed some bad type hints
      - moved get_GMS_sensorcode(), get_mask_classdefinition(), get_outFillZeroSaturated(), get_mask_colormap() to misc.definition_dicts
      - moved open_specific_file_within_archive() to Input_reader
      misc.path_generator:
      - path_generator:
          - revised get_path_rawdata()
          - revised get_local_archive_path_baseN(): 'image_type' is not used anymore; removed deprecated warning
          - get_path_cloud_class_obj(): added cloud classificator files for Sentinel-2
          - added get_path_srf_file()
          - added get_path_snr_model()
          - added get_path_ac_options()
          - added get_path_ac_table()
      processing.multiproc:
      - revised MAP(): added new keyword 'flatten_ouput'
      processing.pipeline:
      - updated imports
      - revised L1C_map(): input represents one OR multiple L1B_objects belonging to the same scene_ID (atmospheric correction has to be applied to ALL subsystems of a scene at once)
      processing.process_controller:
      - changed some map calls due to new keyword  'flatten_ouput' of processing.multiproc.MAP
      - revised L1C_processing(): added grouping of L1B_objects by scene_ID
      - revised create_job_summary(): bugfix for emtpy input list of get_job_summary()
      - added get_job_summary(): moved from helper_functions
      config.Job:
      - added new attributes 'path_ac_options', 'path_ac_tables', 'path_SNR_models', 'path_dem_proc_srtm_90m', 'path_ECMWF_db'
      pgSGL_db table 'config':
      - added keys 'path_SNR_models', 'path_ac_options', 'path_dem_proc_srtm_90m', 'path_ECMWF_db',  'path_ac_tables'
      Fileserver:
      - added input datasets for atmospheric correction
      - updated __version__
      d06523f9
  35. 06 Jan, 2017 1 commit
    • Daniel Scheffler's avatar
      first (not yet working) version of wrapper for atmospheric correction · dd8f8334
      Daniel Scheffler authored
      algorithms.__init__:
      - added some imports
      algorithms.gms_object:
       - removed deprecated code
      algorithms.L1C_P:
      - removed deprecated code
      - added class 'AtmCorr': a wrapper class for atmospheric correction
      misc.database_tools:
      - fixed some broken type hints
      misc.helper_functions
      - fixed broken type hint
      - replaced deprecated function call
      processing.pipeline:
      - fixed some broken type hints
      - updated __version__
      dd8f8334