Skip to content

Add vis/ir cloud composite for FCI#3325

Open
gerritholl wants to merge 2 commits intopytroll:mainfrom
gerritholl:fci-vis-with-ir-cloud-overlay
Open

Add vis/ir cloud composite for FCI#3325
gerritholl wants to merge 2 commits intopytroll:mainfrom
gerritholl:fci-vis-with-ir-cloud-overlay

Conversation

@gerritholl
Copy link
Member

@gerritholl gerritholl commented Jan 7, 2026

First attempt of a VIS/IR cloud composite for FCI, based on the CLM product from EUMETSAT.

Usage example:

import hdf5plugin
from satpy import Scene
from glob import glob
import os
sc = Scene(
        filenames=
            {"fci_l2_nc": ["W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-2-CT--FD------NC4E_C_EUMT_20260105164431_L2PF_OPE_20260105163000_20260105164000_N__C_0100_0000.nc"],
             "fci_l1c_nc": glob("*FDHSI*BODY*20260105*O_0100_*.nc")})
sc.load(["vis_06", "ir_105", "_vis_with_ir",
         "_vis_06_crude", "_ir105", "vis_with_ir_cloud_overlay"])
ls = sc.resample("eurol", resampler="nearest", radius_of_influence=20000) ls.save_datasets(
        filename="{platform_name}-{sensor}-{area.area_id}-{name}-{start_time:%Y%m%d%H%M%S}-{end_time:%Y%m%d%H%M%S}.tif",
        fill_value=0)

Result for _vis-with-ir (no overlay) for 2026-01-05 16:30:

Meteosat-12-fci-eurol-_vis_with_ir-20260105163000-20260105164000

Result for vis_with_ir_cloud_overlay:

Meteosat-12-fci-eurol-vis_with_ir_cloud_overlay-20260105163000-20260105164000

NB: Transparency may show as black or white depending on the background, or when viewed in a client not supporting transparency. This is how irfanview shows it:

image
  • Closes #xxxx
  • Tests added
  • Fully documented

First attempt of a VIS/IR cloud composite for FCI, based on the CLM
product from EUMETSAT.

Usage example:

import hdf5plugin
from satpy import Scene
from glob import glob
import os
sc = Scene(
        filenames=
            {"fci_l2_nc": ["W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-2-CT--FD------NC4E_C_EUMT_20260105164431_L2PF_OPE_20260105163000_20260105164000_N__C_0100_0000.nc"],
             "fci_l1c_nc": glob("*FDHSI*BODY*20260105*O_0100_*.nc")})
sc.load(["vis_06", "ir_105", "_vis_with_ir",
         "_vis_06_crude", "_ir105", "vis_with_ir_cloud_overlay"])
ls = sc.resample("eurol", resampler="nearest", radius_of_influence=20000)
ls.save_datasets(
        filename="{platform_name}-{sensor}-{area.area_id}-{name}-{start_time:%Y%m%d%H%M%S}-{end_time:%Y%m%d%H%M%S}.tif",
        fill_value=0)
@gerritholl
Copy link
Member Author

Example with a background layer to illustrate the transparency better:

202601071600-ninjo-mtg-cloud-mask-ir-vis-with-terrestris

@codecov
Copy link

codecov bot commented Feb 9, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.34%. Comparing base (4597879) to head (3604a54).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3325   +/-   ##
=======================================
  Coverage   96.34%   96.34%           
=======================================
  Files         463      463           
  Lines       58970    58970           
=======================================
  Hits        56813    56813           
  Misses       2157     2157           
Flag Coverage Δ
behaviourtests 3.59% <ø> (ø)
unittests 96.43% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@coveralls
Copy link

Pull Request Test Coverage Report for Build 21817250891

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 96.422%

Totals Coverage Status
Change from base Build 21752490617: 0.0%
Covered Lines: 56693
Relevant Lines: 58797

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants