Skip to content

Commit 81f8bfd

Browse files
authored
v0.1.3
v0.1.3
2 parents a894a2c + 22156f4 commit 81f8bfd

File tree

5 files changed

+260
-13
lines changed

5 files changed

+260
-13
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [0.1.3] - 2024-05-22
8+
9+
### Changed
10+
11+
- `mask_with` now supports list. If so, if the first mask type is not available for a collection, it will switch to the second mask.
12+
713
## [0.1.2] - 2024-05-15
814

915
### Fixed

earthdaily/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
# to hide warnings from rioxarray or nano seconds conversion
66
warnings.filterwarnings("ignore")
77

8-
__version__ = "0.1.2"
8+
__version__ = "0.1.3"

earthdaily/earthdatastore/__init__.py

+12-8
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,7 @@ def datacube(
527527
assets: None | list | dict = None,
528528
intersects: (gpd.GeoDataFrame | str | dict) = None,
529529
bbox=None,
530-
mask_with: (None | str) = None,
530+
mask_with: (None | str | list) = None,
531531
mask_statistics: bool | int = False,
532532
clear_cover: (int | float) = None,
533533
prefer_alternate: (str | bool) = "download",
@@ -587,8 +587,9 @@ def datacube(
587587
DESCRIPTION. The default is None.
588588
bbox : TYPE, optional
589589
DESCRIPTION. The default is None.
590-
mask_with : (None, str), optional
591-
"native" mask, or "ag_cloud_mask".
590+
mask_with : (None, str, list), optional
591+
"native" mask, or "ag_cloud_mask", or ["ag_cloud_mask","native"],
592+
and so if ag_cloud_mask is not available, will switch to native.
592593
The default is None.
593594
mask_statistics : bool | int, optional
594595
DESCRIPTION. The default is False.
@@ -634,11 +635,17 @@ def datacube(
634635
if isinstance(collections, str):
635636
collections = [collections]
636637

638+
if intersects is not None:
639+
intersects = cube_utils.GeometryManager(intersects).to_geopandas()
640+
self.intersects = intersects
641+
637642
if mask_with:
638643
if mask_with not in mask._available_masks:
639-
raise ValueError(
640-
f"Specified mask '{mask_with}' is not available. Currently available masks provider are : {mask._available_masks}"
644+
logging.log(
645+
level=logging.INFO,
646+
msg=f"Specified mask '{mask_with}' is not available. Currently available masks provider are : {mask._available_masks}",
641647
)
648+
642649
if mask_with == "ag_cloud_mask":
643650
search_kwargs = self._update_search_kwargs_for_ag_cloud_mask(
644651
search_kwargs, collections[0]
@@ -648,9 +655,6 @@ def datacube(
648655
if isinstance(assets, list):
649656
assets.append(mask_with)
650657

651-
if intersects is not None:
652-
intersects = cube_utils.GeometryManager(intersects).to_geopandas()
653-
self.intersects = intersects
654658
items = self.search(
655659
collections=collections,
656660
bbox=bbox,

earthdaily/earthdatastore/cube_utils/__init__.py

+21
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,29 @@
1717
__all__ = ["GeometryManager", "rioxarray", "zonal_stats", "zonal_stats_numpy"]
1818

1919

20+
def _datacube_masks(method, *args, **kwargs):
21+
@wraps(method)
22+
def _impl(self, *args, **kwargs):
23+
mask_with = kwargs.get("mask_with", None)
24+
if isinstance(mask_with, list) and len(mask_with) > 1:
25+
kwargs.pop("mask_with")
26+
for mask in mask_with:
27+
try:
28+
datacube = method(self, mask_with=mask, *args, **kwargs)
29+
break
30+
except Warning:
31+
# if warning about no items for ag_cloud_mask for example
32+
continue
33+
else:
34+
datacube = method(self, *args, **kwargs)
35+
return datacube
36+
37+
return _impl
38+
39+
2040
def _datacubes(method):
2141
@wraps(method)
42+
@_datacube_masks
2243
def _impl(self, *args, **kwargs):
2344
collections = kwargs.get("collections", args[0] if len(args) > 0 else None)
2445
if isinstance(collections, list) and len(collections) > 1:

earthdaily/earthdatastore/cube_utils/asset_mapper/asset_mapper_config.json

+220-4
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,8 @@
388388
],
389389
"goes": [
390390
{
391-
"OR_ABI-L2-AODF-M6_G16_s20233490810206_e20233490819514_c20233490820523.nc": "OR_ABI-L2-AODF-M6_G16_s20233490810206_e20233490819514_c20233490820523.nc"
391+
"OR_ABI-L2-AODF-M6_G16_s20233490810206_e20233490819514_c20233490820523.nc": "OR_ABI-L2-AODF-M6_G16_s20233490810206_e20233490819514_c20233490820523.nc",
392+
"OR_ABI-L2-ACMF-M6_G18_s20241430900220_e20241430909528_c20241430910280.nc": "OR_ABI-L2-ACMF-M6_G18_s20241430900220_e20241430909528_c20241430910280.nc"
392393
}
393394
],
394395
"himawari-l1b": [
@@ -408,7 +409,23 @@
408409
"HS_H09_20231215_0550_B13_FLDK_R20_S0110.DAT.bz2": "HS_H09_20231215_0550_B13_FLDK_R20_S0110.DAT.bz2",
409410
"HS_H09_20231215_0550_B14_FLDK_R20_S0110.DAT.bz2": "HS_H09_20231215_0550_B14_FLDK_R20_S0110.DAT.bz2",
410411
"HS_H09_20231215_0550_B15_FLDK_R20_S0110.DAT.bz2": "HS_H09_20231215_0550_B15_FLDK_R20_S0110.DAT.bz2",
411-
"HS_H09_20231215_0550_B16_FLDK_R20_S0110.DAT.bz2": "HS_H09_20231215_0550_B16_FLDK_R20_S0110.DAT.bz2"
412+
"HS_H09_20231215_0550_B16_FLDK_R20_S0110.DAT.bz2": "HS_H09_20231215_0550_B16_FLDK_R20_S0110.DAT.bz2",
413+
"HS_H09_20240522_0550_B01_FLDK_R10_S0110.DAT.bz2": "HS_H09_20240522_0550_B01_FLDK_R10_S0110.DAT.bz2",
414+
"HS_H09_20240522_0550_B02_FLDK_R10_S0110.DAT.bz2": "HS_H09_20240522_0550_B02_FLDK_R10_S0110.DAT.bz2",
415+
"HS_H09_20240522_0550_B03_FLDK_R05_S0110.DAT.bz2": "HS_H09_20240522_0550_B03_FLDK_R05_S0110.DAT.bz2",
416+
"HS_H09_20240522_0550_B04_FLDK_R10_S0110.DAT.bz2": "HS_H09_20240522_0550_B04_FLDK_R10_S0110.DAT.bz2",
417+
"HS_H09_20240522_0550_B05_FLDK_R20_S0110.DAT.bz2": "HS_H09_20240522_0550_B05_FLDK_R20_S0110.DAT.bz2",
418+
"HS_H09_20240522_0550_B06_FLDK_R20_S0110.DAT.bz2": "HS_H09_20240522_0550_B06_FLDK_R20_S0110.DAT.bz2",
419+
"HS_H09_20240522_0550_B07_FLDK_R20_S0110.DAT.bz2": "HS_H09_20240522_0550_B07_FLDK_R20_S0110.DAT.bz2",
420+
"HS_H09_20240522_0550_B08_FLDK_R20_S0110.DAT.bz2": "HS_H09_20240522_0550_B08_FLDK_R20_S0110.DAT.bz2",
421+
"HS_H09_20240522_0550_B09_FLDK_R20_S0110.DAT.bz2": "HS_H09_20240522_0550_B09_FLDK_R20_S0110.DAT.bz2",
422+
"HS_H09_20240522_0550_B10_FLDK_R20_S0110.DAT.bz2": "HS_H09_20240522_0550_B10_FLDK_R20_S0110.DAT.bz2",
423+
"HS_H09_20240522_0550_B11_FLDK_R20_S0110.DAT.bz2": "HS_H09_20240522_0550_B11_FLDK_R20_S0110.DAT.bz2",
424+
"HS_H09_20240522_0550_B12_FLDK_R20_S0110.DAT.bz2": "HS_H09_20240522_0550_B12_FLDK_R20_S0110.DAT.bz2",
425+
"HS_H09_20240522_0550_B13_FLDK_R20_S0110.DAT.bz2": "HS_H09_20240522_0550_B13_FLDK_R20_S0110.DAT.bz2",
426+
"HS_H09_20240522_0550_B14_FLDK_R20_S0110.DAT.bz2": "HS_H09_20240522_0550_B14_FLDK_R20_S0110.DAT.bz2",
427+
"HS_H09_20240522_0550_B15_FLDK_R20_S0110.DAT.bz2": "HS_H09_20240522_0550_B15_FLDK_R20_S0110.DAT.bz2",
428+
"HS_H09_20240522_0550_B16_FLDK_R20_S0110.DAT.bz2": "HS_H09_20240522_0550_B16_FLDK_R20_S0110.DAT.bz2"
412429
}
413430
],
414431
"himawari-l2-cloud": [
@@ -587,7 +604,8 @@
587604
"annotation/calibration/noise-iw-vh.xml": "annotation/calibration/noise-iw-vh.xml",
588605
"annotation/calibration/noise-iw-vv.xml": "annotation/calibration/noise-iw-vv.xml",
589606
"annotation/calibration/calibration-iw-vh.xml": "annotation/calibration/calibration-iw-vh.xml",
590-
"annotation/calibration/calibration-iw-vv.xml": "annotation/calibration/calibration-iw-vv.xml"
607+
"annotation/calibration/calibration-iw-vv.xml": "annotation/calibration/calibration-iw-vv.xml",
608+
"report-20240521T170707.pdf": "report-20240521T170707.pdf"
591609
}
592610
],
593611
"sentinel-1-rtc": [
@@ -692,7 +710,205 @@
692710
],
693711
"sentinel-2-methane-product": [
694712
{
695-
"colourized_geotiff": "colourized_geotiff"
713+
"colourized_geotiff": "colourized_geotiff",
714+
"thumbnail": "thumbnail"
715+
}
716+
],
717+
"ecostress-eco-l2t-lste-002": [
718+
{
719+
"browse": "browse",
720+
"metadata": "metadata",
721+
"002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_QC": "002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_QC",
722+
"002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_LST": "002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_LST",
723+
"002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_cloud": "002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_cloud",
724+
"002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_water": "002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_water",
725+
"002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_EmisWB": "002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_EmisWB",
726+
"002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_height": "002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_height",
727+
"002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_LST_err": "002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_LST_err",
728+
"002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_view_zenith": "002/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01/ECOv002_L2T_LSTE_33232_015_18KYE_20240516T193004_0711_01_view_zenith"
729+
}
730+
],
731+
"esa-worldcover-landcover-2020-v100": [
732+
{
733+
"ESA_WORLDCOVER_10M_MAP": "ESA_WORLDCOVER_10M_MAP"
734+
}
735+
],
736+
"esa-worldcover-landcover-2021-v200": [
737+
{
738+
"ESA_WORLDCOVER_10M_MAP": "ESA_WORLDCOVER_10M_MAP"
739+
}
740+
],
741+
"esa-worldcover-s1-vvvhratio-2020-v100": [
742+
{
743+
"s1_vvvhratio_2020": "s1_vvvhratio_2020"
744+
}
745+
],
746+
"esa-worldcover-s1-vvvhratio-2021-v200": [
747+
{
748+
"s1_vvvhratio_2021": "s1_vvvhratio_2021"
749+
}
750+
],
751+
"esa-worldcover-s2-nvdi-2020-v100": [
752+
{
753+
"s2_ndvi_2020": "s2_ndvi_2020"
754+
}
755+
],
756+
"esa-worldcover-s2-nvdi-2021-v200": [
757+
{
758+
"s2_ndvi_2021": "s2_ndvi_2021"
759+
}
760+
],
761+
"esa-worldcover-s2-rgbnir-2020-v100": [
762+
{
763+
"s2_rgbnir_2020": "s2_rgbnir_2020"
764+
}
765+
],
766+
"esa-worldcover-s2-rgbnir-2021-v200": [
767+
{
768+
"s2_rgbnir_2021": "s2_rgbnir_2021"
769+
}
770+
],
771+
"esa-worldcover-s2-swir-2020-v100": [
772+
{
773+
"s2_swir_2020": "s2_swir_2020"
774+
}
775+
],
776+
"esa-worldcover-s2-swir-2021-v200": [
777+
{
778+
"s2_swir_2021": "s2_swir_2021"
779+
}
780+
],
781+
"lulc-classification-map": [
782+
{
783+
"thumbnail": "thumbnail",
784+
"lulc-classification-map": "lulc-classification-map"
785+
}
786+
],
787+
"modis-mod11-l2-061": [
788+
{
789+
"data": "data",
790+
"browse": "browse",
791+
"metadata": "metadata"
792+
}
793+
],
794+
"modis-mod11a2-061": [
795+
{
796+
"data": "data",
797+
"browse": "browse",
798+
"metadata": "metadata"
799+
}
800+
],
801+
"modis-mod21-l2-061": [
802+
{
803+
"data": "data",
804+
"browse": "browse",
805+
"metadata": "metadata"
806+
}
807+
],
808+
"modis-mod21a2-061": [
809+
{
810+
"data": "data",
811+
"browse": "browse",
812+
"metadata": "metadata"
813+
}
814+
],
815+
"modis-myd11-l2-061": [
816+
{
817+
"data": "data",
818+
"browse": "browse",
819+
"metadata": "metadata"
820+
}
821+
],
822+
"modis-myd11a2-061": [
823+
{
824+
"data": "data",
825+
"browse": "browse",
826+
"metadata": "metadata"
827+
}
828+
],
829+
"modis-myd21-l2-061": [
830+
{
831+
"data": "data",
832+
"browse": "browse",
833+
"metadata": "metadata"
834+
}
835+
],
836+
"modis-myd21a2-061": [
837+
{
838+
"data": "data",
839+
"browse": "browse",
840+
"metadata": "metadata"
841+
}
842+
],
843+
"nst-observer-catalog": [
844+
{
845+
"browse": "browse",
846+
"thumbnail": "thumbnail",
847+
"cloud_mask": "cloud_mask"
848+
}
849+
],
850+
"viirs-vj121-002": [
851+
{
852+
"data": "data",
853+
"browse": "browse",
854+
"opendap": "opendap",
855+
"metadata": "metadata"
856+
}
857+
],
858+
"viirs-vj121a1d-002": [
859+
{
860+
"data": "data",
861+
"browse": "browse",
862+
"opendap": "opendap",
863+
"metadata": "metadata"
864+
}
865+
],
866+
"viirs-vj121a1n-002": [
867+
{
868+
"data": "data",
869+
"browse": "browse",
870+
"opendap": "opendap",
871+
"metadata": "metadata"
872+
}
873+
],
874+
"viirs-vj121a2-002": [
875+
{
876+
"data": "data",
877+
"browse": "browse",
878+
"opendap": "opendap",
879+
"metadata": "metadata"
880+
}
881+
],
882+
"viirs-vnp21-002": [
883+
{
884+
"data": "data",
885+
"browse": "browse",
886+
"opendap": "opendap",
887+
"metadata": "metadata"
888+
}
889+
],
890+
"viirs-vnp21a1d-002": [
891+
{
892+
"data": "data",
893+
"browse": "browse",
894+
"opendap": "opendap",
895+
"metadata": "metadata"
896+
}
897+
],
898+
"viirs-vnp21a1n-002": [
899+
{
900+
"data": "data",
901+
"browse": "browse",
902+
"opendap": "opendap",
903+
"metadata": "metadata"
904+
}
905+
],
906+
"viirs-vnp21a2-002": [
907+
{
908+
"data": "data",
909+
"browse": "browse",
910+
"opendap": "opendap",
911+
"metadata": "metadata"
696912
}
697913
]
698914
}

0 commit comments

Comments
 (0)