| Table of Contents |
|---|
| Note |
|---|
| This is an optional offering. Once deployed, users are responsible for its maintenance and updates. Feel free to ask for feedback in the #peer-support channel on EWC RocketChat. |
| Tip |
|---|
Unlike the Data Tailor Web Services (DTWS), which can be used with EUMDAC or via https://tailor.eumetsat.int, the standalone version is generally faster and does not have limitations such as maximum concurrent jobs or workspace size |
Introduction
...
. |
The Data Tailor is a product customization toolbox designed to enable :
- Enable users to tailor satellite data to their specific needs.
...
- Offers the ability to subset and aggregate data products across space and time, filter layers, generate quick looks, reproject data onto new coordinate reference systems, and reformat data into widely used Geographic Information System (GIS) formats such as netCDF and GeoTIFF, as well as image formats like JPEG and PNG.
...
- Customize data from various satellite collections, including METOP, MFG ,MSG, MTG (Meteosat Third Generation) and Sentinel-3.
There are two versions of the Data Tailor: the Data Tailor Web Service (DTWS) and the Data Tailor Standalone. The DTWS allows users to customize products in the EUMETSAT Data Store before downloading them. On the other hand, the Data Tailor Standalone is an application that can be installed on your machine, enabling you to customize downloaded products. Unlike the Data Tailor Web Services, which can be used with EUMDAC or via https://tailor.eumetsat.int, the standalone version is generally faster and does not have limitations such as maximum concurrent jobs or workspace size. For more information on capabilities of the Data Tailor, please refer to to Data Tailor Standalone Guide on User Portal and for more information about the available products and customisations customizations inside the Data Tailor, please go to to Products and Customisations Customizations Available in the Data Tailor page.
| Table of Contents |
|---|
Current limitations
How to provision the EUMETSAT Data Tailor Standalone
| Tip |
|---|
If provisioning after October of 2025, we recommend deploying based on the community hub, to benefit form upcoming features or fixes. |
Deployment based on the EWC Community Hub
Checkout the corresponding Community Hub Item.
Deployment via Morpheus UI (deprecated)
| Warning |
|---|
This method of deployment is deprecated, and kept in documentation only as reference for EUMETSAT tenancies that relied on it prior to October of 2025. |
| Note |
|---|
| Warning |
Due to design of the software, only one linuxLinux user is able to use the software without additional settings. When a user runs the application for the first time, various configuration files are created with permissions only editable by that user. |
Installation
Provisioning
- Create the Data Tailor standalone instance by clicking on + ADD button on your your Morpheus Dashboard.
- Search for Data Tailor Standalone, select it and click next.
- Choose a NAME for the instance type and move to next step.
- Insert at least the following inputs and click next:
- layout: make sure it is rocky-datatailor
- plan: select one with at least 16GB of RAM (e.g. eo2.xlarge)
- network: private
- security group: ssh
- Once done, click Complete and the provisioning will start.
- Look for the instance list (Provisioning → Instances) to check the status of the instance.
- Once ready you will see the green Running sign below the instance as below:
Post-provisioning
- SSH into your instance following the Remote Access to the VM documentation. Alternatively, you can also use the console on Morpheus from your instance (Provisioning → Instances → select your instance and go to the Console section)
- Running the following commands you can verify if the installation was successful.
Code Block language bash title Check conda installation and epct-desktop environment $ conda env list # conda environments: # base * /usr/local/miniconda epct-desktop /usr/local/miniconda/envs/epct-desktop - After confirming the installation, add conda environment to your shell and then restart it.
Code Block language bash title Integrate conda in your shell and restart your shell $ conda init no change /usr/local/miniconda/condabin/conda no change /usr/local/miniconda/bin/conda no change /usr/local/miniconda/bin/conda-env no change /usr/local/miniconda/bin/activate no change /usr/local/miniconda/bin/deactivate no change /usr/local/miniconda/etc/profile.d/conda.sh no change /usr/local/miniconda/etc/fish/conf.d/conda.fish no change /usr/local/miniconda/shell/condabin/Conda.psm1 no change /usr/local/miniconda/shell/condabin/conda-hook.ps1 no change /usr/local/miniconda/lib/python3.11/site-packages/xontrib/conda.xsh no change /usr/local/miniconda/etc/profile.d/conda.csh modified /home/USERNAME/.bashrc ==> For changes to take effect, close and re-open your current shell. <== - After restarting your shell, you should be able to see that you're in base environment of conda.
Code Block language bash title Activate the conda environment and test the application (base) $ conda activate epct-desktop (epct-desktop) $ epct info epct_version: 3.4.0 etc_dir: /usr/local/miniconda/envs/epct-desktop/etc/epct workspace_dir: /usr/local/miniconda/envs/epct-desktop/var/cache/epct customisations_log_dir: /usr/local/miniconda/envs/epct-desktop/var/log/epct output_dir: / installed_plugins: - epct-plugin-netcdf-generator, 3.1.1 - epct-plugin-ncarrays, 1.1.0 - epct-plugin-umarf, 3.2.0 - epct-plugin-gis, 3.3.0 registered_backends: - epct_1d_array - epct_2d_array - epct_ascatl1szf - epct_eps_gome2l1b - epct_eps_grasl1 - epct_eps_iasil1c - epct_eps_iasisnd02 - epct_eps_native - epct_eps_native_gome2l1_iasisnd02 - epct_gis - epct_gis_eps - epct_gis_eps_grib2 - epct_gis_fcil2 - epct_gis_glbsst - epct_gis_glbsst_grib2 - epct_gis_grib2 - epct_gis_hrit - epct_gis_hrit_grib2 - epct_gis_hrit_png_16_bit - epct_gis_msg - epct_gis_msg_meteo_bufr - epct_gis_msg_png_16_bit - epct_gis_mtgfcil1 - epct_or1sww025 - epct_plugin_netcdf_generator - epct_plugin_umarf_isccp - epct_plugin_umarf_isccp_nat - epct_plugin_umarf_msgclmk_grib - epct_plugin_umarf_msgclmk_netcdf - epct_plugin_umarf_msgnative - epct_plugin_umarf_msgnative_hrv_nat - epct_plugin_umarf_msgnative_nat - epct_plugin_umarf_openmtp - epct_plugin_umarf_rgb_dc_jpeg - epct_plugin_umarf_rgb_dc_jpeg_nat - epct_plugin_umarf_rgb_dc_png - epct_plugin_umarf_rgb_dc_png_nat - epct_plugin_umarf_xrit - epct_plugin_umarf_xrit_nat executable_paths: epct_plugin_netcdf_generator: null
The Data Tailor Standalone is ready to use. Whenever you want to use the application, just activate your conda environment with $ conda activate epct-desktop and run your customisations.
Usage
The Data Tailor standalone has multiple ways of use including:
For more information, please refer to: Data Tailor Standalone Guide.
Example
Below is a small example of using the application with CLI.
- Activate the conda environment.
Code Block language bash title Activate the conda environment (base) $ conda activate epct-desktop - Create the chain.yaml
Code Block language yml title chain.yaml product: HRSEVIRI format: netcdf4 projection: geographic roi: western_europe filter: bands: - channel_9 - channel_10 - channel_11 - Run your customisation using the command below:
Code Block language bash title Run chain (epct-desktop) $ epct run-chain -f chain.yaml MSG3-SEVI-MSG15-0100-NA-20240613095742.896000000Z-NA.zip 2024-06-13 10:05:25 - PROCESSING.chain_runner[291] - INFO - Start process "4c15df87" 2024-06-13 10:05:25 - PROCESSING.chain_runner[241] - INFO - WORKER: localhost 2024-06-13 10:05:25 - PROCESSING.chain_runner[242] - INFO - PID: 17361 2024-06-13 10:05:25 - PROCESSING.chain_runner[243] - INFO - backend: epct_gis_msg 2024-06-13 10:05:25 - PROCESSING.chain_runner[244] - INFO - user: None 2024-06-13 10:05:28 - PROCESSING.preprocessing[677] - INFO - Processing details - product: HRSEVIRI chain-name: None chain-details: -product: HRSEVIRI -format: NetCDF4 (simplified) -projection: Geographic / Plate-Carree -roi: Western Europe -filter: Custom 2024-06-13 10:05:28 - PROCESSING.preprocessing[683] - INFO - ROI name: Western Europe - NSWE: [67, 35, -23, 16] - process: 4c15df87 2024-06-13 10:05:28 - PROCESSING.preprocessing[684] - INFO - Input products: MSG3-SEVI-MSG15-0100-NA-20240613095742.896000000Z-NA.nat 2024-06-13 10:05:28 - PROCESSING.epct_gis[742] - INFO - Expected steps: 6 2024-06-13 10:05:28 - PROCESSING.epct_gis[744] - INFO - Starting step "IMPORT" 1/6 ... 2024-06-13 10:05:28 - PROCESSING.vrt[90] - INFO - Command line and its output ... gdal_translate -of VRT -a_srs "+proj=geos +h=35785831 +lon_0=0.0 +ellps=GRS80 +no_defs" -a_ullr -5565747.7 5565747.7 5565747.7 -5565747.7 -b 9 -b 10 -b 11 RAD:/usr/local/miniconda/envs/epct-desktop/var/cache/epct/EPCT_HRSEVIRI_FPC_4c15df87/decompressed_data/MSG3-SEVI-MSG15-0100-NA-20240613095742.896000000Z-NA.nat /usr/local/miniconda/envs/epct-desktop/var/cache/epct/EPCT_HRSEVIRI_FPC_4c15df87/MSG3-SEVI-MSG15-0100-NA-20240613095742.896000000Z-NA.vrt 2024-06-13 10:05:28 - PROCESSING.epct_gis[397] - INFO - a preliminary ROI is applied to the intermediate VRT 2024-06-13 10:05:28 - PROCESSING.vrt[90] - INFO - Command line and its output ... gdalwarp -cutline /usr/local/miniconda/envs/epct-desktop/var/cache/epct/EPCT_HRSEVIRI_FPC_4c15df87/roi.shp -crop_to_cutline -cblend 10 -r near --config OGR_ENABLE_PARTIAL_REPROJECTION YES /usr/local/miniconda/envs/epct-desktop/var/cache/epct/EPCT_HRSEVIRI_FPC_4c15df87/MSG3-SEVI-MSG15-0100-NA-20240613095742.896000000Z-NA.vrt /usr/local/miniconda/envs/epct-desktop/var/cache/epct/EPCT_HRSEVIRI_FPC_4c15df87/MSG3-SEVI-MSG15-0100-NA-20240613095742.896000000Z-NA_roi.vrt 2024-06-13 10:05:28 - PROCESSING.epct_gis[747] - INFO - ... step "IMPORT" finished! 2024-06-13 10:05:28 - PROCESSING.epct_gis[754] - INFO - Starting step "FILTER" 2/6 ... 2024-06-13 10:05:28 - PROCESSING.epct_gis[758] - INFO - ... step "FILTER" finished! 2024-06-13 10:05:28 - PROCESSING.epct_gis[754] - INFO - Starting step "PROJECTION" 3/6 ... 2024-06-13 10:05:28 - PROCESSING.vrt[90] - INFO - Command line and its output ... gdalwarp -overwrite --config CPL_MAX_ERROR_REPORTS 1 -of GTiff -co BIGTIFF=IF_SAFER -co COMPRESS=DEFLATE -ot Float32 -t_srs "EPSG:4326" --config THRESHOLD 0.005 -r near -srcnodata -1000.0 "/usr/local/miniconda/envs/epct-desktop/var/cache/epct/EPCT_HRSEVIRI_FPC_4c15df87/MSG3-SEVI-MSG15-0100-NA-20240613095742.896000000Z-NA_roi.vrt" "/usr/local/miniconda/envs/epct-desktop/var/cache/epct/EPCT_HRSEVIRI_FPC_4c15df87/intermediate_warped.tif" 2024-06-13 10:05:32 - PROCESSING.epct_gis[647] - INFO - ... step "PROJECTION" finished! 2024-06-13 10:05:32 - PROCESSING.epct_gis[754] - INFO - Starting step "ROI" 4/6 ... 2024-06-13 10:05:32 - PROCESSING.vrt[90] - INFO - Command line and its output ... gdalwarp -overwrite --config CPL_MAX_ERROR_REPORTS 1 -te -23.0 35.0 16.0 67.0 -te_srs "EPSG:4326" --config THRESHOLD 0.005 -r near "/usr/local/miniconda/envs/epct-desktop/var/cache/epct/EPCT_HRSEVIRI_FPC_4c15df87/intermediate_warped.tif" "/usr/local/miniconda/envs/epct-desktop/var/cache/epct/EPCT_HRSEVIRI_FPC_4c15df87/intermediate_warped_cut.tif" 2024-06-13 10:05:32 - PROCESSING.epct_gis[647] - INFO - ... step "ROI" finished! 2024-06-13 10:05:32 - PROCESSING.epct_gis[754] - INFO - Starting step "FORMAT" 5/6 ... 2024-06-13 10:05:32 - PROCESSING.vrt[90] - INFO - Command line and its output ... gdal_translate -of netCDF -co FORMAT=NC4 -ot Float32 "/usr/local/miniconda/envs/epct-desktop/var/cache/epct/EPCT_HRSEVIRI_FPC_4c15df87/intermediate_warped_cut.tif" "/usr/local/miniconda/envs/epct-desktop/var/cache/epct/EPCT_HRSEVIRI_FPC_4c15df87/OUTPUTS/EPCT_HRSEVIRI_FPC_4c15df87.nc" 2024-06-13 10:05:32 - PROCESSING.epct_gis[647] - INFO - ... step "FORMAT" finished! 2024-06-13 10:05:32 - PROCESSING.postprocessing[468] - INFO - Starting step "POST-PROCESSING" 6/6 ... 2024-06-13 10:05:32 - PROCESSING.postprocessing[493] - INFO - ... step "POST-PROCESSING" finished! 2024-06-13 10:05:32 - PROCESSING.postprocessing[495] - INFO - output-product: ./HRSEVIRI_20240613T094510Z_20240613T095742Z_epct_4c15df87_FPC.nc 2024-06-13 10:05:32 - PROCESSING.postprocessing[503] - INFO - customisation time: 7 - process: 4c15df87 2024-06-13 10:05:32 - PROCESSING.postprocessing[504] - INFO - *** STOP PROCESSING - Status DONE *** processing-time: 6.8 [sec]
...
The HRSEVIRI product (MSG3-SEVI-MSG15-0100-NA-20240613095742.896000000Z-NA.zip) is downloaded directly from the Data Store (using eumdac to be specific) and untouched. EUMDAC is included in the Data Tailor standalone instance. An example EUMDAC download command is:
$ eumdac download -c EO:EUM:DAT:MSG:HRSEVIRI --limit 1
...







