We group FarmVibes.AI workflows in the following categories:
- Data Ingestion: workflows that download and preprocess data from a particular source, preparing data to be the starting point for most of the other workflows in the platform. This includes raw data sources (e.g., Sentinel 1 and 2, LandSat, CropDataLayer) as well as the SpaceEye cloud-removal model;
- Data Processing: workflows that transform data into different data types (e.g., computing NDVI/MSAVI/Methane indexes, aggregating mean/max/min statistics of rasters, timeseries aggregation);
- FarmAI: composed workflows (data ingestion + processing) whose outputs enable FarmAI scenarios (e.g., predicting conservation practices, estimating soil carbon sequestration, identifying methane leakage);
- ForestAI: composed workflows (data ingestion + processing) whose outputs enable ForestAI scenarios (e.g., detecting forest change, estimating forest extent);
- ML: machine learning-related workflows to train, evaluate, and infer models within the FarmVibes.AI platform (e.g., dataset creation, inference);
Below is a list of all available workflows within the FarmVibes.AI platform. For each of them, we provide a brief description and a link to the corresponding documentation page.
-
admag/admag_seasonal_field
📄: Generates SeasonalFieldInformation using ADMAg (Microsoft Azure Data Manager for Agriculture). -
admag/prescriptions
📄: Fetches prescriptions using ADMAg (Microsoft Azure Data Manager for Agriculture). -
airbus/airbus_download
📄: Downloads available AirBus imagery for the input geometry and time range. -
airbus/airbus_price
📄: Prices available AirBus imagery for the input geometry and time range. -
alos/alos_forest_extent_download
📄: Downloads Advanced Land Observing Satellite (ALOS) forest/non-forest classification map. -
alos/alos_forest_extent_download_merge
📄: Downloads Advanced Land Observing Satellite (ALOS) forest/non-forest classification map and merges it into a single raster. -
bing/basemap_download
📄: Downloads Bing Maps basemaps. -
bing/basemap_download_merge
📄: Downloads Bing Maps basemap tiles and merges them into a single raster. -
cdl/download_cdl
📄: Downloads crop classes maps in the continental USA for the input time range. -
dem/download_dem
📄: Downloads digital elevation map tiles that intersect with the input geometry and time range. -
gedi/download_gedi
📄: Downloads GEDI products for the input region and time range. -
gedi/download_gedi_rh100
📄: Downloads L2B GEDI products and extracts RH100 variables. -
glad/glad_forest_extent_download
📄: Downloads Global Land Analysis (GLAD) forest extent data. -
glad/glad_forest_extent_download_merge
📄: Downloads the tiles from Global Land Analysis (GLAD) forest data that intersect with the user input geometry and time range, and merges them into a single raster. -
gnatsgo/download_gnatsgo
📄: Downloads gNATSGO raster data that intersect with the input geometry and time range. -
hansen/hansen_forest_change_download
📄: Downloads and merges Global Forest Change (Hansen) rasters that intersect the user-provided geometry/time range. -
landsat/preprocess_landsat
📄: Downloads and preprocesses LANDSAT tiles that intersect with the input geometry and time range. -
modis/download_modis_surface_reflectance
📄: Downloads MODIS 8-day surface reflectance rasters that intersect with the input geometry and time range. -
modis/download_modis_vegetation_index
📄: Downloads MODIS 16-day vegetation index products that intersect with the input geometry and time range. -
naip/download_naip
📄: Downloads NAIP tiles that intersect with the input geometry and time range. -
osm_road_geometries
📄: Downloads road geometry for input region from Open Street Maps. -
sentinel1/preprocess_s1
📄: Downloads and preprocesses tiles of Sentinel-1 imagery that intersect with the input Sentinel-2 products in the input time range. -
sentinel2/cloud_ensemble
📄: Computes the cloud probability of a Sentinel-2 L2A raster using an ensemble of five cloud segmentation models. -
sentinel2/improve_cloud_mask
📄: Improves cloud masks by merging the product cloud mask with cloud and shadow masks computed by machine learning segmentation models. -
sentinel2/improve_cloud_mask_ensemble
📄: Improves cloud masks by merging the product cloud mask with cloud and shadow masks computed by an ensemble of machine learning segmentation models. -
sentinel2/preprocess_s2
📄: Downloads and preprocesses Sentinel-2 imagery that covers the input geometry and time range. -
sentinel2/preprocess_s2_ensemble_masks
📄: Downloads and preprocesses Sentinel-2 imagery that covers the input geometry and time range, and computes improved cloud masks using an ensemble of cloud and shadow segmentation models. -
sentinel2/preprocess_s2_improved_masks
📄: Downloads and preprocesses Sentinel-2 imagery that covers the input geometry and time range, and computes improved cloud masks using cloud and shadow segmentation models. -
soil/soilgrids
📄: Downloads digital soil mapping information from SoilGrids for the input geometry. -
soil/usda
📄: Downloads USDA soil classification raster. -
spaceeye/spaceeye
📄: Runs the SpaceEye cloud removal pipeline, yielding daily cloud-free images for the input geometry and time range. -
spaceeye/spaceeye_inference
📄: Performs SpaceEye inference to generate daily cloud-free images given Sentinel data and cloud masks. -
spaceeye/spaceeye_interpolation
📄: Runs the SpaceEye cloud removal pipeline using an interpolation-based algorithm, yielding daily cloud-free images for the input geometry and time range. -
spaceeye/spaceeye_interpolation_inference
📄: Performs temporal damped interpolation to generate daily cloud-free images given Sentinel-2 data and cloud masks. -
spaceeye/spaceeye_preprocess
📄: Runs the SpaceEye preprocessing pipeline. -
spaceeye/spaceeye_preprocess_ensemble
📄: Runs the SpaceEye preprocessing pipeline with an ensemble of cloud segmentation models. -
user_data/ingest_geometry
📄: Adds user geometries into the cluster storage, allowing for them to be used on workflows. -
user_data/ingest_raster
📄: Adds user rasters into the cluster storage, allowing for them to be used on workflows. -
user_data/ingest_smb
📄: Adds user rasters into the cluster storage from an SMB share, allowing for them to be used on workflows. -
weather/download_chirps
📄: Downloads accumulated precipitation data from the CHIRPS dataset. -
weather/download_era5
📄: Hourly estimated weather variables. -
weather/download_era5_monthly
📄: Monthly estimated weather variables. -
weather/download_gridmet
📄: Daily surface meteorological properties from GridMET. -
weather/download_herbie
📄: Downloads forecast data for provided location & time range using herbie python package. -
weather/download_terraclimate
📄: Monthly climate and hydroclimate properties from TerraClimate. -
weather/get_ambient_weather
📄: Downloads weather data from an Ambient Weather station. -
weather/get_forecast
📄: Downloads weather forecast data from NOAA Global Forecast System (GFS) for the input time range. -
weather/herbie_forecast
📄: Downloads forecast observations for provided location & time range using herbie python package.
-
chunk_onnx/chunk_onnx
📄: Runs an Onnx model over all rasters in the input to produce a single raster. -
chunk_onnx/chunk_onnx_sequence
📄: Runs an Onnx model over all rasters in the input to produce a single raster. -
clip/clip
📄: Performs a soft clip on an input raster based on a provided reference geometry. -
gradient/raster_gradient
📄: Computes the gradient of each band of the input raster with a Sobel operator. -
heatmap/classification
📄: Utilizes input Sentinel-2 satellite imagery & the sensor samples as labeled data that contain nutrient information (Nitrogen, Carbon, pH, Phosphorus) to train a model using Random Forest classifier. The inference operation predicts nutrients in soil for the chosen farm boundary. -
index/index
📄: Computes an index from the bands of an input raster. -
linear_trend/chunked_linear_trend
📄: Computes the pixel-wise linear trend of a list of rasters (e.g. NDVI). -
merge/match_merge_to_ref
📄: Resamples input rasters to the reference rasters' grid. -
outlier/detect_outlier
📄: Fits a single-component Gaussian Mixture Model (GMM) over input data to detect outliers according to the threshold parameter. -
threshold/threshold_raster
📄: Thresholds values of the input raster if higher than the threshold parameter. -
timeseries/timeseries_aggregation
📄: Computes the mean, standard deviation, maximum, and minimum values of all regions of the raster and aggregates them into a timeseries. -
timeseries/timeseries_masked_aggregation
📄: Computes the mean, standard deviation, maximum, and minimum values of all regions of the raster considered by the mask and aggregates them into a timeseries.
-
agriculture/canopy_cover
📄: Estimates pixel-wise canopy cover for a region and date. -
agriculture/change_detection
📄: Identifies changes/outliers over NDVI across dates. -
agriculture/emergence_summary
📄: Calculates emergence statistics using thresholded MSAVI (mean, standard deviation, maximum and minimum) for the input geometry and time range. -
agriculture/green_house_gas_fluxes
📄: Computes Green House Fluxes for a region and date range -
agriculture/heatmap_using_classification
📄: The workflow generates a nutrient heatmap for samples provided by user by downloading the samples from user input. -
agriculture/heatmap_using_classification_admag
📄: This workflow integrate the ADMAG API to download prescriptions and generate heatmap. -
agriculture/heatmap_using_neighboring_data_points
📄: Creates heatmap using the neighbors by performing spatial interpolation operations. It utilizes soil information collected at optimal sensor/sample locations and downloaded sentinel satellite imagery. -
agriculture/methane_index
📄: Computes methane index from ultra emitters for a region and date range. -
agriculture/ndvi_summary
📄: Calculates NDVI statistics (mean, standard deviation, maximum and minimum) for the input geometry and time range. -
agriculture/weed_detection
📄: Generates shape files for similarly colored regions in the input raster. -
carbon_local/admag_carbon_integration
📄: Computes the offset amount of carbon that would be sequestered in a seasonal field using Microsoft Azure Data Manager for Agriculture (ADMAg) data. -
carbon_local/carbon_whatif
📄: Computes the offset amount of carbon that would be sequestered in a seasonal field using the baseline (historical) and scenario (time range interested in) information. -
land_cover_mapping/conservation_practices
📄: Identifies conservation practices (terraces and grassed waterways) using elevation data. -
land_degradation/landsat_ndvi_trend
📄: Estimates a linear trend over NDVI computer over LANDSAT tiles that intersect with the input geometry and time range. -
land_degradation/ndvi_linear_trend
📄: Computes the pixel-wise NDVI linear trend over the input raster. -
segmentation/segment_basemap
📄: Downloads basemap with BingMaps API and runs Segment Anything Model (SAM) over them with points and/or bounding boxes as prompts. -
segmentation/segment_s2
📄: Downloads Sentinel-2 imagery and runs Segment Anything Model (SAM) over them with points and/or bounding boxes as prompts. -
sensor/optimal_locations
📄: Identify optimal locations by performing clustering operation using Gaussian Mixture model on computed raster indices. -
water/irrigation_classification
📄: Develops 30m pixel-wise irrigation probability map.
-
deforestation/alos_trend_detection
📄: Detects increase/decrease trends in forest pixel levels over the user-input geometry and time range for the ALOS forest map. -
deforestation/ordinal_trend_detection
📄: Detects increase/decrease trends in the pixel levels over the user-input geometry and time range.
-
crop_segmentation
📄: Runs a crop segmentation model based on NDVI from SpaceEye imagery along the year. -
dataset_generation/datagen_crop_segmentation
📄: Generates a dataset for crop segmentation, based on NDVI raster and Crop Data Layer (CDL) maps. -
driveway_detection
📄: Detects driveways in front of houses. -
segment_anything/basemap_prompt_segmentation
📄: Runs Segment Anything Model (SAM) over BingMaps basemap rasters with points and/or bounding boxes as prompts. -
segment_anything/s2_prompt_segmentation
📄: Runs Segment Anything Model (SAM) over Sentinel-2 rasters with points and/or bounding boxes as prompts.