diff --git a/doc/source/dev_guide/writing_tests.rst b/doc/source/dev_guide/writing_tests.rst index 7677c6417a..189aa04fa5 100644 --- a/doc/source/dev_guide/writing_tests.rst +++ b/doc/source/dev_guide/writing_tests.rst @@ -21,3 +21,26 @@ that are used in the module:: # The following fixtures are not defined in this file, but are used and injected by Pytest: # - tmp_path # - fixture_defined_in_conftest.py + +============= +Imagery tests +============= + +Satpy has automated image comparison tests using the third-party `behave `_ package. + +Image comparison tests will run only if an authorised developer comments +"start behave test" in a GitHub pull request. +Running such tests is recommended for any pull request that may affect image +production. + +To add new image comparison tests: + +- Add one or more entries to the "Examples" table in ``satpy/tests/behave/features/image_comparison.feature`` +- Checkout / update the git repository at ``https://github.com/pytroll/image-comparison-tests`` +- If needed, add a new directory for a test case inside ``image-comparison-tests/data/satellite_data//``. Do not commit those data. +- Run the script ``satpy/utils/create_reference.py`` to create the reference images. Note + that although it reads the reference data, it does not create all reference images defined in the + behave tests, only those passed as arguments to the script. +- deploy by running ``ansible-playbook playbooks/deploy_image_comparison.yml --ask-become-pass``. + You may need to install ansible first. + You will need access to the virtual machine in the European Weather Cloud for this step. diff --git a/satpy/etc/composites/fci.yaml b/satpy/etc/composites/fci.yaml index be5279054a..a302ca1496 100644 --- a/satpy/etc/composites/fci.yaml +++ b/satpy/etc/composites/fci.yaml @@ -328,18 +328,18 @@ composites: ### other RGBs cloud_type: description: > - Equal to cimss_cloud_type recipe, but with additional sunz_reducer modifier to avoid saturation at the terminator. + Equal to cimss_cloud_type recipe, but with the effective_solar_pathlength_corrected modifier to avoid saturation at the terminator. references: EUMETRAIN Quick Guide: https://resources.eumetrain.org/rgb_quick_guides/quick_guides/CloudTypeRGB.pdf Recipe: https://resources.eumetrain.org/RGBguide/recipes/RGB_recipes.pdf compositor: !!python/name:satpy.composites.GenericCompositor prerequisites: - name: nir_13 - modifiers: [sunz_corrected, sunz_reduced] + modifiers: [effective_solar_pathlength_corrected] - name: vis_06 - modifiers: [sunz_corrected, sunz_reduced] + modifiers: [effective_solar_pathlength_corrected] - name: nir_16 - modifiers: [sunz_corrected, sunz_reduced] + modifiers: [effective_solar_pathlength_corrected] standard_name: cimss_cloud_type cloud_type_with_night_ir105: @@ -355,18 +355,18 @@ composites: cloud_phase: description: > - Equal to cloud_phase recipe, but with additional sunz_reducer modifier to avoid saturation at the terminator. + Equal to cloud_phase recipe, but with the effective_solar_pathlength_corrected modifier to avoid saturation at the terminator. references: EUMETRAIN Quick Guide: https://resources.eumetrain.org/rgb_quick_guides/quick_guides/CloudPhaseRGB.pdf Recipe: https://resources.eumetrain.org/RGBguide/recipes/RGB_recipes.pdf compositor: !!python/name:satpy.composites.GenericCompositor prerequisites: - name: nir_16 - modifiers: [sunz_corrected, sunz_reduced] + modifiers: [ effective_solar_pathlength_corrected ] - name: nir_22 - modifiers: [sunz_corrected, sunz_reduced] + modifiers: [ effective_solar_pathlength_corrected ] - name: vis_06 - modifiers: [sunz_corrected, rayleigh_corrected, sunz_reduced] + modifiers: [ effective_solar_pathlength_corrected ] standard_name: cloud_phase cloud_phase_with_night_ir105: diff --git a/satpy/etc/composites/visir.yaml b/satpy/etc/composites/visir.yaml index 7b6f6d4243..4eda87f03f 100644 --- a/satpy/etc/composites/visir.yaml +++ b/satpy/etc/composites/visir.yaml @@ -15,6 +15,9 @@ modifiers: modifier: !!python/name:satpy.modifiers.EffectiveSolarPathLengthCorrector optional_prerequisites: - solar_zenith_angle + # max_sza None means no reduction beyond correction_limit, see https://github.com/pytroll/satpy/issues/3096 + max_sza: !!null + correction_limit: 150 # use "raw" Li/Shibata without correction sunz_reduced: modifier: !!python/name:satpy.modifiers.SunZenithReducer @@ -44,6 +47,7 @@ modifiers: - solar_zenith_angle - 13.4 sunz_threshold: 85.0 + atm_correction: modifier: !!python/name:satpy.modifiers.PSPAtmosphericalCorrection optional_prerequisites: diff --git a/satpy/tests/behave/features/image_comparison.feature b/satpy/tests/behave/features/image_comparison.feature index 5fe2e1d383..69122100fc 100755 --- a/satpy/tests/behave/features/image_comparison.feature +++ b/satpy/tests/behave/features/image_comparison.feature @@ -11,6 +11,7 @@ Feature: Image Comparison |Meteosat-12 | scan_night | night_microphysics | fci_l1c_nc | sve | gradient_search | True | |Meteosat-12 | mali_day | essl_colorized_low_level_moisture | fci_l1c_nc | mali | gradient_search | False | |Meteosat-12 | spain_day | colorized_low_level_moisture_with_vis06 | fci_l1c_nc,fci_l2_nc | spain | nearest | False | + |Meteosat-12 | spain_twilight | cloud_type | fci_l1c_nc | spain | nearest | False | |GOES17 | americas_night | airmass | abi_l1b | null | null | null | |GOES16 | americas_night | airmass | abi_l1b | null | null | null | |GOES16 | americas_night | ash | abi_l1b | null | null | null | pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy