-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
152 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
MERSI-2 L1B Reader | ||
================== | ||
|
||
.. automodule:: polar2grid.readers.mersi_ll_l1b | ||
:noindex: | ||
|
||
Command Line Arguments | ||
---------------------- | ||
|
||
.. argparse:: | ||
:module: polar2grid.readers.mersi_ll_l1b | ||
:func: add_reader_argument_groups | ||
:prog: polar2grid.sh -r mersi_ll_l1b -w <writer> | ||
:passparser: | ||
|
||
Examples: | ||
|
||
.. code-block:: bash | ||
$POLAR2GRID_HOME/bin/polar2grid.sh -r mersi_ll_l1b -w geotiff -h | ||
polar2grid.sh -r mersi_ll_l1b -w geotiff --list-products -f tf2019259173245.FY3E-X_MERSI*.HDF | ||
polar2grid.sh -r mersi_ll_l1b -w geotiff -p 1 2 3 4 6 7 -f tf2019233172521.FY3E-X_MERSI_0250M_L1B.HDF tf2019233172521.FY3E-X_MERSI_1000M_L1B.HDF tf2019233172521.FY3E-X_MERSI_GEOQK_L1B.HDF tf2019233172521.FY3E-X_MERSI_GEO1K_L1B.HDF | ||
polar2grid.sh -r mersi_ll_l1b -w geotiff -p 1 2 -g lcc_fit -f ../mersi/tf2019259173245.FY3E-X_MERSI*.HDF | ||
polar2grid.sh -r mersi_ll_l1b -w hdf5 -p 3 4 5 --grid-configs ${HOME}/my_grid.yaml -g shanghai seoul -f ../data/*.HDF | ||
polar2grid.sh -r mersi_ll_l1b -w binary --sza-threshold=90 -p 1 -f tf2019226095418.FY3E-X_MERSI_*.HDF |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,19 +20,12 @@ | |
# satellite observation data, remaps it, and writes it to a file format for | ||
# input into another program. | ||
# Documentation: http://www.ssec.wisc.edu/software/polar2grid/ | ||
# | ||
# Written by William Roberts and David Hoese May 2019 | ||
# University of Wisconsin-Madison | ||
# Space Science and Engineering Center | ||
# 1225 West Dayton Street | ||
# Madison, WI 53706 | ||
# [email protected] and [email protected] | ||
"""The FY3-D MERSI2 Level 1B reader operates on Level 1B (L1B) HDF5 files. | ||
"""The FY-3D MERSI2 Level 1B reader operates on Level 1B (L1B) HDF5 files. | ||
The files come in four varieties; band data and geolocation data, both at 250m | ||
and 1000m resolution. Files usually have the following naming scheme: | ||
tf{start_time:%Y%j%H%M%S}.{platform_shortname}-{trans_band:1s}_MERSI_1000M_L1B.{ext} | ||
tf{start_time:%Y%j%H%M%S}.FY3D-X_MERSI_1000M_L1B.{ext} | ||
This reader's default resampling algorithm is ``ewa`` for Elliptical Weighted | ||
Averaging resampling. The ``--weight-delta-max`` parameter is set to 40 and the | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
# Copyright (C) 2023 Space Science and Engineering Center (SSEC), | ||
# University of Wisconsin-Madison. | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation, either version 3 of the License, or | ||
# (at your option) any later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU General Public License for more details. | ||
# | ||
# You should have received a copy of the GNU General Public License | ||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
# | ||
# This file is part of the polar2grid software package. Polar2grid takes | ||
# satellite observation data, remaps it, and writes it to a file format for | ||
# input into another program. | ||
# Documentation: http://www.ssec.wisc.edu/software/polar2grid/ | ||
"""The FY-3E MERSI-LL Level 1B reader operates on Level 1B (L1B) HDF5 files. | ||
The files come in four varieties; band data and geolocation data, both at 250m | ||
and 1000m resolution. Files usually have the following naming scheme: | ||
tf{start_time:%Y%j%H%M%S}.FY3E-X_MERSI_1000M_L1B.{ext} | ||
This reader's default resampling algorithm is ``ewa`` for Elliptical Weighted | ||
Averaging resampling. The ``--weight-delta-max`` parameter is set to 40 and the | ||
``--weight-distance-max`` parameter is set to 1. | ||
The frontend can be specified with the ``polar2grid.sh`` command using | ||
the ``mersi_ll_l1b`` frontend name. The MERSI-LL frontend provides the following products: | ||
+---------------------------+-----------------------------------------------------+-------------------------+ | ||
| **Product Name** | **Description** | Central Wavelength (um) | | ||
+===========================+=====================================================+=========================+ | ||
| 1 | Channel 1 Reflectance Band (Radiance?) | 0.709 | | ||
+---------------------------+-----------------------------------------------------+-------------------------+ | ||
| 2 | Channel 2 Brightness Temperature Band | 3.80 | | ||
+---------------------------+-----------------------------------------------------+-------------------------+ | ||
| 3 | Channel 3 Brightness Temperature Band | 4.05 | | ||
+---------------------------+-----------------------------------------------------+-------------------------+ | ||
| 4 | Channel 4 Brightness Temperature Band | 7.20 | | ||
+---------------------------+-----------------------------------------------------+-------------------------+ | ||
| 5 | Channel 5 Brightness Temperature Band | 8.55 | | ||
+---------------------------+-----------------------------------------------------+-------------------------+ | ||
| 6 | Channel 6 Brightness Temperature Band | 10.8 | | ||
+---------------------------+-----------------------------------------------------+-------------------------+ | ||
| 7 | Channel 7 Brightness Temperature Band | 12.0 | | ||
+---------------------------+-----------------------------------------------------+-------------------------+ | ||
""" | ||
|
||
from __future__ import annotations | ||
|
||
from argparse import ArgumentParser, _ArgumentGroup | ||
from typing import Optional | ||
|
||
from ._base import ReaderProxyBase | ||
|
||
ALL_BANDS = [str(x) for x in range(1, 8)] | ||
ALL_ANGLES = [ | ||
"solar_zenith_angle", | ||
"solar_azimuth_angle", | ||
"sensor_zenith_angle", | ||
"sensor_azimuth_angle", | ||
"moon_zenith_angle", | ||
"moon_azimuth_angle", | ||
] | ||
ALL_COMPS = [] | ||
|
||
DEFAULT_PRODUCTS = ALL_BANDS + ALL_COMPS | ||
|
||
PRODUCT_ALIASES = {} | ||
|
||
FILTERS = { | ||
"day_only": { | ||
"standard_name": [ | ||
"toa_bidirectional_reflectance", | ||
"true_color", | ||
"false_color", | ||
"natural_color", | ||
], | ||
}, | ||
} | ||
|
||
|
||
class ReaderProxy(ReaderProxyBase): | ||
"""Provide Polar2Grid-specific information about this reader's products.""" | ||
|
||
is_polar2grid_reader = True | ||
|
||
def get_default_products(self) -> list[str]: | ||
"""Get products to load if users hasn't specified any others.""" | ||
return DEFAULT_PRODUCTS | ||
|
||
def get_all_products(self) -> list[str]: | ||
"""Get all polar2grid products that could be loaded.""" | ||
return ALL_BANDS + ALL_COMPS + ALL_ANGLES | ||
|
||
@property | ||
def _aliases(self) -> dict: | ||
return PRODUCT_ALIASES | ||
|
||
|
||
def add_reader_argument_groups( | ||
parser: ArgumentParser, group: Optional[_ArgumentGroup] = None | ||
) -> tuple[Optional[_ArgumentGroup], Optional[_ArgumentGroup]]: | ||
"""Add reader-specific command line arguments to an existing argument parser.""" | ||
return None, None |