The EarthNet2021 Toolkit.
Find more information on https://www.earthnet.tech.
pip install earthnet
Ensure you have enough free disk space! We recommend 1.5TB.
import earthnet as entk
entk.download(dataset = "earthnet2023", split = "all", save_directory = "data_dir")
Where data_dir
is the directory where EarthNet2023 - Africa shall be saved and split
is "all"
or a subset of ["train", "test]
.
When using EarthNet2023 - Africa, please for now cite the DOI 10.5281/zenodo.10659371
, until there is an original publication on the dataset.
Vitus Benson, Christian Requena-Mesa, Jeran Poehls, Lazaro Alonso, Claire Robin, Nuno Carvalhais, Markus Reichstein. (2024).
EarthNet Toolkit for accessing the EarthNet2023 - Africa dataset.
Zenodo. https://doi.org/10.5281/zenodo.10659371
This work has received funding from the European Union’s Horizon 2020 Research and Innovation Project DeepCube, under Grant Agreement Numbers 101004188.
Ensure you have enough free disk space! We recommend 1TB.
import earthnet as en
en.download(dataset = "earthnet2021x", split = "train", save_directory = "data_dir")
Where data_dir
is the directory where EarthNet2021 shall be saved and split
is "all"
or a subset of ["train","iid","ood","extreme","seasonal"]
.
Save your predictions for one test set in one folder in the following way:
{pred_dir/region/cubename.nc}
Name your NDVI prediction variable as "ndvi_pred"
.
Then use the data_dir/dataset/split
as the targets.
Then compute the normalized NSE over the full dataset:
import earthnet as en
scores = en.score_over_dataset(Path/to/targets, Path/to/predictions)
print(scores["veg_macro_score"])
Alternatively you can score a single minicube:
import earthnet as en
df = en.normalized_NSE(Path/to/target_minicube, Path/to/prediction_minicube)
print(df.describe())
Ensure you have enough free disk space! We recommend 1TB.
import earthnet as en
en.Downloader.get(data_dir, splits)
Where data_dir
is the directory where EarthNet2021 shall be saved and splits
is "all"
or a subset of ["train","iid","ood","extreme","seasonal"]
.
Alternatively if package was installed locally:
cd earthnet-toolkit/earthnet/
python download.py -h
python download.py "Path/To/Download/To" "all"
For using in the commandline.
Save your predictions for one test set in one folder in one of the following ways:
{pred_dir/tile/cubename.npz, pred_dir/tile/experiment_cubename.npz}
Then use the Path/To/Download/To/TestSet as the targets.
Then use the EarthNetScore:
import earthnet as en
en.EarthNetScore.get_ENS(Path/to/predictions, Path/to/targets, data_output_file = Path/to/data.json, ens_output_file = Path/to/ens.json)
Getting Lon-Lat-coordinates for a cube or tile is as simple as:
import earthnet as en
en.get_coords_from_cube(cubename, return_meso = False)
en.get_coords_from_tile(tilename)
Creating a gallery view for a cube is done as follows:
import earthnet as en
import matplotlib.pyplot as plt
fig = en.cube_gallery(cubepath, variable = "ndvi")
plt.show()
Creating a NDVI timeseries view for a cube is done as follows:
import earthnet as en
import matplotlib.pyplot as plt
fig = en.cube_ndvi_timeseries(predpath, targpath)
plt.show()