Releases: ASFHyP3/hyp3-lib
Releases · ASFHyP3/hyp3-lib
HyP3-lib v1.4.1
Added:
get_orb.downloadSentinelOrbitFile
: neworbit_types
argument to to specify a tuple of orbit types to search
for, e.g.('AUX_POEORB', 'AUX_RESORB')
Changed:
ingest_S1_granule
,par_s1_slc_single
: errors thrown byS1_OPOD_vec
when applying orbit files are now raised
rather than caught and ignoredget_orb.downloadSentinelOrbitFile
: failures fetching orbits are now logged as warnings and do not include a stack
traceget_orb.get_orbit_url
: removed padding on granule start/end times for ESA API searches per example at
https://qc.sentinel1.eo.esa.int/doc/api/
HyP3-lib v1.4.0
Added:
hyp3lib.OrbitDownloadError
exception that will be raised for fetching orbit file problemshyp3lib.fetch
module with utilities for fetching thing from external endpoints- Provides a generic
download_file
utility for downloading files from URLs
- Provides a generic
orbit_file
keyword argument tohyp3lib.ingest_S1_granule
andhyp3lib.par_s1_slc_single
to skip fetching an
already downloaded orbit fileproviders
keyword argument tohyp3lib.downloadSentinelOrbitFile
to specify the providers you'd like to check for
orbit files, in order of preferencehyp3lib.get_orb.get_orbit_url
which will determine the OPOD orbit file url for a granuleget_orb.py
entrypoint now allows you to download to a specific directory and specify the providers to use in
order of preference
Changed:
- Unrestricted
gdal
from2.*
inconda-env.yml
because there appears to be no GDAL 2 specific code inhyp3lib
Removed:
- Unused
par_s1_slc_single.py
entrypoint hyp3lib.get_orb
helper functions that are unused outside ofget_orb
:getPageContentsESA
,getOrbitFileESA
,getPageContents
(ASF),findOrbFile
(ASF),getOrbFile
(ASF) have
all been merged intoget_orbit_url
dateStr2dateTime
as been removedfetchOrbitFile
has been eliminated in favor ofhyp3lib.fetch.download_file
downloadSentinelOrbitFileProvider
functionality has been merged intodownloadSentinelOrbitFile
HyP3-lib v1.3.0
Changed:
- Requires
pyproj>=2
makeAsfBrowse.py
- now only makes a single
.png
file at the formally_large.png
resolution
(by default) as small browse images had little user value - CLI includes a
-n
/--nearest-neighbor
argument to switch from GDAL's cubic
interpolation to to nearest neighbor when resampling GeoTIFFs. makeAsfBrose
API includes awith=2048
keyword argument and the CLI includes
a-w
/--width
to set the browse image width
- now only makes a single
make_cogs.py
no longer includes overviews in cogified files because HyP3's
products are packaged in a.zip
file preventing overviews from being accessed
over the web. This change reduces our output GeoTIFF's by ~25%make_cog
function that was only used internally has been renamed to
cogify_file
to be inline with thecogify_dir
function provided
Removed:
get_dem.py
'stransform_bounds
andtransform_point
functions that were
only used internally have been removed because they are no longer relevant with
thepyproj
upgrade
Fixed:
- Coordinate transformations in
get_dem
now utilize thepyproj>=2
syntax
instead of the depreciated and brokenpyproj<2
syntax
HyP3-lib v1.2.3
Fixed:
get_dem.py
will raise an exception if it cannot determine the NoData value
for the DEM.
Changed:
get_dem.py
will determine the correct NoData value forSRTMGL3
DEMs
HyP3-lib v1.2.2
Fixed:
rtc2color.py
was applying the cleanup threshold differently to amplitude and
power data, causing a loss of blue color, which has now been fixed.
Changed:
rtc2color.py
no longer performs calculations with thefloat16
data type,
which was selected for memory optimization, and instead uses the nativefloat32
type. Similar memory optimizations have been achieved by refactoring and
leveraging numpy, with an added benefit of a 6x speedup.
HyP3-lib v1.2.1
Added:
DemError
,ExecuteError
, andGeometryError
(subclasses of the genericException
) for
more targeted error handling
Fixed:
- Updated the
ps2dem.py
to handle the GAMMA 2019create_dem_par
interface - Removed GIMP, REMA, and EU DEMs from the default config (Note: they are still available
by editing the default config) due to many failures associated with these DEMs - No library functions will raise a
SystemExit
and will some subclass ofException
, as
would be expected of a library, so that errors can be handled by the calling app - execute raises a
hyp3lib.ExecuteError
instead of a genericException
for more targeted
error handling get_asf.py
will not fail silently anymore.
HyP3-lib v1.2.0
Added
metadata.add_esa_citation
to add aESA_citation.txt
file to a directoryexceptions.GranuleError
for raising issues with granules
HyP3-lib v1.1.0
Added
GC_map_mod
bash script, which is used by a few science codes (this has been translated to bash from tcsh)hyp3lib.system
module for getting system information needed by the science codes- includes a
gamma_version
function which will attempt to determine and validate the GAMMA software version
- includes a
HyP3-lib v1.0.0
This is a significant refactor of hyp3-lib
into a pip
installable package called hyp3lib
.
NOTE: There are significant changes to the overall repository structure and this will break all
existing HyP3 workflows!
Removed
- Any official python 2 support (Note: this version will likely still work with python 2, but future versions are
not expected to)
Added
- A packaging and testing structure -- now
pip
installable and testing is done viapytest
andtox
hyp3lib.draw_polygon_on_raster
has been included from the depreciatedpython_data_utils
hyp3lib.get_asf
has been included from the (now) depreciatedasf_api_assistant
- A
mkdir_p
function has been added tohyp3lib.file_subroutines
that will create a directory, and all parent
directories as needed (works like unixmkdir -p
)
Changed
- All python modules have the
from __future__ import print_function, absolute_import, division, unicode_literals
imports added to make python 2 behave more like python 3 (NOTE: Python 2 is not longer officially supported, but it
should work for this version) - All of
hyp3-lib/src
is now contained in thehyp3lib
package - Any "script" in in hyp3-lib has been turned into an entrypoint with the same name and should mostly function
identically ifhpy3lib
in installed. This includes:apply_wb_mask.py
byteSigmaScale.py
copy_metadata.py
createAmp.py
cutGeotiffsByLine.py
cutGeotiffs.py
draw_polygon_on_raster.py
dem2isce.py
enh_lee_filter.py
extendDateline.py
geotiff_lut.py
get_bounding.py
getDemFor.py
get_asf.py
get_dem.py
get_orb.py
iscegeo2geotif.py
make_arc_thumb.py
makeAsfBrowse.py
makeChangeBrowse.py
make_cogs.py
makeColorPhase.py
makeKml.py
offset_xml.py
par_s1_slc_single.py
ps2dem.py
raster_boundary2shape.py
rasterMask.py
resample_geotiff.py
rtc2colordiff.py
rtc2color.py
simplify_shapefile.py
SLC_copy_S1_fullSW.py
subset_geotiff_shape.py
tileList2shape.py
utm2dem.py
verify_opod.py
- Config files are packaged and accessible programmatically from
os.path.join(os.path.dirname(hyp3lib.etc.__file__), "config")
- The
repackage_into_cogs.sh
script has been moved intohyp3lib/etc/bin
and will be distributed as package data. You can get the location
programmatically viaos.path.abspath(os.path.join(os.path.dirname(hyp3lib.etc.__file__), "bin"))