diff --git a/docs/code_tests/code_tests.md b/docs/code_tests/code_tests.md index 7d369d3da..43e904bb2 100644 --- a/docs/code_tests/code_tests.md +++ b/docs/code_tests/code_tests.md @@ -17,3 +17,11 @@ By default, swell will create several directories in the working directory that ```yaml test_cache_location: /discover/nobackup//swell-test-cache ``` + +## Code tests + +### Suite creation test +The suite creation test attempts to construct experiments for all suites within swell in a temporary directory. If one fails, try creating the suite on its own to make sure it is configured properly. Ensure all values are valid and are not filled by the templates `defer_to_model` or `defer_to_platform`. + +### JEDI Config test +The JEDI config test generates mock configs for jedi executables in a dry-run mode, where obs will not be checked and placeholders will be used for experiment filepaths (this can result in situations where altering some parameters will not affect the output yaml as they would in a normal experiment, such as changes to cycle times). These configs are compared against reference files located in `src/swell/test/jedi_configs/`, and named `jedi__config.yaml`. Any difference in values in these yamls will cause this test to fail, so ensure any differences created are intentional, then run `swell utility CreateMockConfigs` to automatically generate new reference files for all suites. These new files are placed in the `jedi_config` location in the source code. diff --git a/pyproject.toml b/pyproject.toml index a2c9b528a..759952ddc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,7 +45,8 @@ dependencies = [ "h5py>=3.7.0", "flake8==6.1.0", "netCDF4", - "ruamel.yaml==0.17.16" + "ruamel.yaml==0.17.16", + "xarray==2024.7.0" ] [project.optional-dependencies] @@ -58,7 +59,7 @@ github = [ "isodate==0.6.1", "f90nml==1.4.4", "questionary==1.10.0", - "netCDF4==1.6.5", + "netCDF4==1.6.5" ] [project.urls] @@ -74,6 +75,7 @@ swell = [ 'deployment/platforms/*/*.yaml', 'suites/**', 'test/suite_tests/*.yaml', + 'test/jedi_configs/*.yaml', 'configuration/**', 'utilities/pinned_versions/*.yaml' ] diff --git a/src/swell/configuration/jedi/interfaces/geos_cf/task_questions.yaml b/src/swell/configuration/jedi/interfaces/geos_cf/task_questions.yaml index 8db8f8996..43d6ef951 100644 --- a/src/swell/configuration/jedi/interfaces/geos_cf/task_questions.yaml +++ b/src/swell/configuration/jedi/interfaces/geos_cf/task_questions.yaml @@ -80,6 +80,9 @@ observations: - tropomi_s5p_no2_tropo - tempo_no2_total +obs_experiment: + default_value: None + observing_system_records_path: default_value: None diff --git a/src/swell/deployment/create_experiment.py b/src/swell/deployment/create_experiment.py index 0b7fa81e3..f89fd3649 100644 --- a/src/swell/deployment/create_experiment.py +++ b/src/swell/deployment/create_experiment.py @@ -31,19 +31,6 @@ # -------------------------------------------------------------------------------------------------- -def read_override_file(override_path: str | None) -> dict: - - yaml = YAML(typ='safe') - - if override_path is None: - return {} - else: - with open(override_path, 'r') as f: - return yaml.load(f) - -# -------------------------------------------------------------------------------------------------- - - def clone_config( configuration: str, experiment_id: str, @@ -233,7 +220,7 @@ def create_experiment_directory( suite_config: str, method: str, platform: str, - override: str, + override: dict, advanced: bool, slurm: str | None, skip_r2d2: bool @@ -247,21 +234,17 @@ def create_experiment_directory( # --------------- logger = get_logger('SwellCreateExperiment') - # Read override file - # ------------------ - override_dict = read_override_file(override) - # Specify whether to skip registering and storing in R2D2 # ------------------------------------------------------- if skip_r2d2: # Only override this if it is true, otherwise let the suite decide - override_dict['skip_r2d2'] = skip_r2d2 + override['skip_r2d2'] = skip_r2d2 # Call the experiment config and suite generation # ------------------------------------------------ experiment_dict_str = prepare_config(suite, suite_config, method, platform, - override_dict, advanced, slurm) + override, advanced, slurm) # Load the string using yaml # -------------------------- diff --git a/src/swell/deployment/platforms/nccs_discover_sles15/task_questions.yaml b/src/swell/deployment/platforms/nccs_discover_sles15/task_questions.yaml index 28a448ff4..be2b5f33f 100644 --- a/src/swell/deployment/platforms/nccs_discover_sles15/task_questions.yaml +++ b/src/swell/deployment/platforms/nccs_discover_sles15/task_questions.yaml @@ -19,15 +19,15 @@ existing_jedi_source_directory: existing_jedi_source_directory_pinned: default_value: /discover/nobackup/projects/gmao/advda/jedi_bundles_sles15/current_pinned_jedi_bundle/source/ +existing_perllib_path: + default_value: /discover/nobackup/projects/gmao/advda/perllib_opt/GMAO_perllib/g1.0.1/ + geos_homdir: default_value: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/geos/homdirs/coupled_5deg initial_restarts_method: default_value: geos_expdir -gmao_perllib_path: - default_value: /discover/nobackup/projects/gmao/advda/perllib_opt/GMAO_perllib/g1.0.1/ - path_to_bufr: default_value: None diff --git a/src/swell/suites/geosadas/flow.cylc b/src/swell/suites/geosadas/flow.cylc index 9bd6b7936..1e514a2bb 100644 --- a/src/swell/suites/geosadas/flow.cylc +++ b/src/swell/suites/geosadas/flow.cylc @@ -107,7 +107,7 @@ [[ GetGeosAdasBackground ]] script = "swell task GetGeosAdasBackground $config -d $datetime -m geos_atmosphere" - [[RenderJediObservations-{{model_component}}]] + [[RenderJediObservations-geos_atmosphere]] script = "swell task RenderJediObservations $config -d $datetime -m geos_atmosphere" [[RunJediVariationalExecutable]] diff --git a/src/swell/swell.py b/src/swell/swell.py index 89f55a3ad..025327a8c 100644 --- a/src/swell/swell.py +++ b/src/swell/swell.py @@ -20,6 +20,7 @@ from swell.suites.all_suites import AllSuites from swell.utilities.welcome_message import write_welcome_message from swell.utilities.scripts.utility_driver import get_utilities, utility_wrapper +from swell.utilities.suite_utils import read_override_file # -------------------------------------------------------------------------------------------------- @@ -117,8 +118,12 @@ def create( """ + # Read override file + override_dict = read_override_file(override) + # Create the experiment directory - create_experiment_directory(suite, input_method, platform, override, advanced, slurm, skip_r2d2) + create_experiment_directory(suite, input_method, platform, override_dict, + advanced, slurm, skip_r2d2) # -------------------------------------------------------------------------------------------------- diff --git a/src/swell/tasks/render_jedi_observations.py b/src/swell/tasks/render_jedi_observations.py index 834962cfe..a2c43f26a 100644 --- a/src/swell/tasks/render_jedi_observations.py +++ b/src/swell/tasks/render_jedi_observations.py @@ -51,6 +51,11 @@ def execute(self) -> None: cwd = os.getcwd() + if self.config.mock_experiment(False): + self.jedi_rendering.add_key('cycle_dir', 'cycle_dir') + self.jedi_rendering.add_key('experiment_id', 'experiment_id') + self.jedi_rendering.add_key('experiment_root', 'experiment_root') + observations = [] # Iterate through list diff --git a/src/swell/tasks/run_jedi_convert_state_soca2cice_executable.py b/src/swell/tasks/run_jedi_convert_state_soca2cice_executable.py index 104a9a5dc..297f0bfb3 100644 --- a/src/swell/tasks/run_jedi_convert_state_soca2cice_executable.py +++ b/src/swell/tasks/run_jedi_convert_state_soca2cice_executable.py @@ -54,6 +54,13 @@ def execute(self) -> None: self.jedi_rendering.add_key('analysis_time', analysis_time) self.jedi_rendering.add_key('analysis_time_iso', analysis_time_iso) + # Add placeholder names if mock experiment + # ---------------------------------------- + if self.config.mock_experiment(False): + self.jedi_rendering.add_key('experiment_root', 'experiment_root') + self.jedi_rendering.add_key('experiment_id', 'experiment_id') + self.jedi_rendering.add_key('cycle_dir', 'cycle_dir') + # Geometry # -------- self.jedi_rendering.add_key('total_processors', self.config.total_processors(None)) diff --git a/src/swell/tasks/run_jedi_ensemble_mean_variance.py b/src/swell/tasks/run_jedi_ensemble_mean_variance.py index 3a398b454..7d98c327c 100644 --- a/src/swell/tasks/run_jedi_ensemble_mean_variance.py +++ b/src/swell/tasks/run_jedi_ensemble_mean_variance.py @@ -71,6 +71,13 @@ def execute(self) -> None: # Ensemble self.jedi_rendering.add_key('ensemble_num_members', self.config.ensemble_num_members(None)) + # Add placeholder names if mock experiment + # ---------------------------------------- + if self.config.mock_experiment(False): + self.jedi_rendering.add_key('experiment_root', 'experiment_root') + self.jedi_rendering.add_key('experiment_id', 'experiment_id') + self.jedi_rendering.add_key('cycle_dir', 'cycle_dir') + # Jedi configuration file # ----------------------- jedi_config_file = os.path.join(self.cycle_dir(), f'jedi_{jedi_application}_config.yaml') diff --git a/src/swell/tasks/run_jedi_fgat_executable.py b/src/swell/tasks/run_jedi_fgat_executable.py index f65297508..0c2eaed80 100644 --- a/src/swell/tasks/run_jedi_fgat_executable.py +++ b/src/swell/tasks/run_jedi_fgat_executable.py @@ -105,6 +105,13 @@ def execute(self) -> None: background_frequency = self.config.background_frequency() self.jedi_rendering.add_key('background_frequency', background_frequency) + # Add placeholder names if mock experiment + # ---------------------------------------- + if self.config.mock_experiment(False): + self.jedi_rendering.add_key('experiment_root', 'experiment_root') + self.jedi_rendering.add_key('experiment_id', 'experiment_id') + self.jedi_rendering.add_key('cycle_dir', 'cycle_dir') + # Use GEOS utility to generate states # ----------------------------------- states = self.geos.states_generator(background_frequency, window_length, diff --git a/src/swell/tasks/run_jedi_hofx_ensemble_executable.py b/src/swell/tasks/run_jedi_hofx_ensemble_executable.py index 8e9aee39e..2a5be2c7a 100644 --- a/src/swell/tasks/run_jedi_hofx_ensemble_executable.py +++ b/src/swell/tasks/run_jedi_hofx_ensemble_executable.py @@ -107,6 +107,13 @@ def execute(self) -> None: self.jedi_rendering.add_key('ensemble_hofx_packets', ensemble_hofx_packets) self.jedi_rendering.add_key('packet_ensemble_members', packet_ensemble_members) + # Add placeholder names if mock experiment + # ---------------------------------------- + if self.config.mock_experiment(False): + self.jedi_rendering.add_key('experiment_root', 'experiment_root') + self.jedi_rendering.add_key('experiment_id', 'experiment_id') + self.jedi_rendering.add_key('cycle_dir', 'cycle_dir') + # Jedi configuration file # ----------------------- jedi_config_file = os.path.join(self.cycle_dir(), diff --git a/src/swell/tasks/run_jedi_hofx_executable.py b/src/swell/tasks/run_jedi_hofx_executable.py index 6d63cf5fc..46e039811 100644 --- a/src/swell/tasks/run_jedi_hofx_executable.py +++ b/src/swell/tasks/run_jedi_hofx_executable.py @@ -84,6 +84,13 @@ def execute(self, ensemble_members: Optional[list] = None) -> None: self.jedi_rendering.add_key('crtm_coeff_dir', self.config.crtm_coeff_dir(None)) self.jedi_rendering.add_key('window_begin', window_begin) + # Add placeholder names if mock experiment + # ---------------------------------------- + if self.config.mock_experiment(False): + self.jedi_rendering.add_key('experiment_root', 'experiment_root') + self.jedi_rendering.add_key('experiment_id', 'experiment_id') + self.jedi_rendering.add_key('cycle_dir', 'cycle_dir') + # Model # ----- if window_type == '4D': @@ -157,6 +164,7 @@ def execute(self, ensemble_members: Optional[list] = None) -> None: jedi_config_file, output_log_file) else: self.logger.info('YAML generated, now exiting.') + return # If saving the geovals they need to be combined # ---------------------------------------------- @@ -262,6 +270,11 @@ def append_gomsaver( # Add mem to the filename if it is not None mem_str = f'_mem{mem}' if mem is not None else '' + if not self.config.mock_experiment(False): + cycle_dir = self.cycle_dir() + else: + cycle_dir = 'cycle_dir' + for observer in jedi_config_dict['observations']['observers']: observation = observer['observation_name'] @@ -269,7 +282,7 @@ def append_gomsaver( # Define the GeoVaLs saver dictionary gom_saver_dict = { 'filter': 'GOMsaver', - 'filename': os.path.join(self.cycle_dir(), + 'filename': os.path.join(cycle_dir, f'{observation}-geovals.{window_begin}{mem_str}.nc4') } diff --git a/src/swell/tasks/run_jedi_local_ensemble_da_executable.py b/src/swell/tasks/run_jedi_local_ensemble_da_executable.py index b0d67a5b8..30bc0db45 100644 --- a/src/swell/tasks/run_jedi_local_ensemble_da_executable.py +++ b/src/swell/tasks/run_jedi_local_ensemble_da_executable.py @@ -140,6 +140,13 @@ def execute(self) -> None: self.config.local_ensemble_use_linear_observer()) self.jedi_rendering.add_key('skip_ensemble_hofx', self.config.skip_ensemble_hofx()) + # Add placeholder names if mock experiment + # ---------------------------------------- + if self.config.mock_experiment(False): + self.jedi_rendering.add_key('experiment_root', 'experiment_root') + self.jedi_rendering.add_key('experiment_id', 'experiment_id') + self.jedi_rendering.add_key('cycle_dir', 'cycle_dir') + # Prevent both 'local_ensemble_save_posterior_mean' and # 'local_ensemble_save_posterior_ensemble' from being true # -------------------------------------------------------- diff --git a/src/swell/tasks/run_jedi_obsfilters_executable.py b/src/swell/tasks/run_jedi_obsfilters_executable.py index 7af6e4867..a76f934ce 100644 --- a/src/swell/tasks/run_jedi_obsfilters_executable.py +++ b/src/swell/tasks/run_jedi_obsfilters_executable.py @@ -76,6 +76,13 @@ def execute(self, ensemble_members: Optional[list] = None) -> None: self.jedi_rendering.add_key('crtm_coeff_dir', self.config.crtm_coeff_dir(None)) self.jedi_rendering.add_key('window_begin', window_begin) + # Add placeholder names if mock experiment + # ---------------------------------------- + if self.config.mock_experiment(False): + self.jedi_rendering.add_key('experiment_root', 'experiment_root') + self.jedi_rendering.add_key('experiment_id', 'experiment_id') + self.jedi_rendering.add_key('cycle_dir', 'cycle_dir') + # Model # ----- if window_type == '4D': diff --git a/src/swell/tasks/run_jedi_ufo_tests_executable.py b/src/swell/tasks/run_jedi_ufo_tests_executable.py index 0613c5990..308d5c8ee 100644 --- a/src/swell/tasks/run_jedi_ufo_tests_executable.py +++ b/src/swell/tasks/run_jedi_ufo_tests_executable.py @@ -57,6 +57,13 @@ def execute(self) -> None: self.jedi_rendering.add_key('crtm_coeff_dir', self.config.crtm_coeff_dir(None)) self.jedi_rendering.add_key('window_begin', window_begin) + # Add placeholder names if mock experiment + # ---------------------------------------- + if self.config.mock_experiment(False): + self.jedi_rendering.add_key('experiment_root', 'experiment_root') + self.jedi_rendering.add_key('experiment_id', 'experiment_id') + self.jedi_rendering.add_key('cycle_dir', 'cycle_dir') + # Open the JEDI config file and fill templates # -------------------------------------------- jedi_config_dict = self.jedi_rendering.render_oops_file(f'{jedi_application}', '3D') diff --git a/src/swell/tasks/run_jedi_variational_executable.py b/src/swell/tasks/run_jedi_variational_executable.py index 3c9e0b5a8..862cf5af5 100644 --- a/src/swell/tasks/run_jedi_variational_executable.py +++ b/src/swell/tasks/run_jedi_variational_executable.py @@ -96,6 +96,13 @@ def execute(self) -> None: self.jedi_rendering.add_key('crtm_coeff_dir', self.config.crtm_coeff_dir(None)) self.jedi_rendering.add_key('window_begin', window_begin) + # Add placeholder names if mock experiment + # ---------------------------------------- + if self.config.mock_experiment(False): + self.jedi_rendering.add_key('experiment_root', 'experiment_root') + self.jedi_rendering.add_key('experiment_id', 'experiment_id') + self.jedi_rendering.add_key('cycle_dir', 'cycle_dir') + # Atmosphere background error model # --------------------------------- if gsibec_configuration is not None: diff --git a/src/swell/tasks/task_questions.py b/src/swell/tasks/task_questions.py index 8347850a7..e72de4f65 100644 --- a/src/swell/tasks/task_questions.py +++ b/src/swell/tasks/task_questions.py @@ -572,7 +572,8 @@ class TaskQuestions(QuestionContainer, Enum): qd.background_time_offset(), qd.observing_system_records_path(), qd.observations(), - qd.window_length() + qd.window_length(), + qd.mock_experiment() ] ) @@ -590,6 +591,7 @@ class TaskQuestions(QuestionContainer, Enum): qd.window_length(), qd.window_type(), qd.comparison_log_type('convert_state_soca2cice'), + qd.mock_experiment() ] ) @@ -607,6 +609,7 @@ class TaskQuestions(QuestionContainer, Enum): qd.observations(), qd.observing_system_records_path(), qd.comparison_log_type('ensmeanvariance'), + qd.mock_experiment() ] ) @@ -617,7 +620,8 @@ class TaskQuestions(QuestionContainer, Enum): questions=[ run_jedi_executable, qd.marine_models(), - qd.comparison_log_type('fgat') + qd.comparison_log_type('fgat'), + qd.mock_experiment() ] ) @@ -636,7 +640,8 @@ class TaskQuestions(QuestionContainer, Enum): qd.generate_yaml_and_exit(), qd.jedi_forecast_model(), qd.total_processors(), - qd.comparison_log_type('hofx') + qd.comparison_log_type('hofx'), + qd.mock_experiment() ] ) @@ -654,6 +659,7 @@ class TaskQuestions(QuestionContainer, Enum): qd.save_geovals(), qd.total_processors(), qd.comparison_log_type('ensemblehofx'), + qd.mock_experiment() ] ) @@ -694,6 +700,7 @@ class TaskQuestions(QuestionContainer, Enum): qd.vertical_localization_method(), qd.perhost(), qd.comparison_log_type('localensembleda'), + qd.mock_experiment() ] ) @@ -711,7 +718,8 @@ class TaskQuestions(QuestionContainer, Enum): qd.observing_system_records_path(), qd.total_processors(), qd.obs_thinning_rej_fraction(), - qd.comparison_log_type('obsfilters') + qd.comparison_log_type('obsfilters'), + qd.mock_experiment() ] ) @@ -725,6 +733,7 @@ class TaskQuestions(QuestionContainer, Enum): qd.single_observations(), qd.window_length(), qd.comparison_log_type('ufo_tests'), + qd.mock_experiment() ] ) @@ -736,6 +745,7 @@ class TaskQuestions(QuestionContainer, Enum): run_jedi_executable, qd.perhost(), qd.comparison_log_type('variational'), + qd.mock_experiment() ] ) diff --git a/src/swell/test/code_tests/code_tests.py b/src/swell/test/code_tests/code_tests.py index ff3e4e4c2..d8539004d 100644 --- a/src/swell/test/code_tests/code_tests.py +++ b/src/swell/test/code_tests/code_tests.py @@ -17,6 +17,8 @@ from swell.test.code_tests.unused_variables_test import UnusedVariablesTest from swell.test.code_tests.question_dictionary_comparison_test import QuestionDictionaryTest from swell.test.code_tests.test_generate_observing_system import GenerateObservingSystemTest +from swell.test.code_tests.suite_creation_test import SuiteCreationTest +from swell.test.code_tests.jedi_config_test import JEDIConfigTest # -------------------------------------------------------------------------------------------------- @@ -52,6 +54,12 @@ def code_tests() -> None: # Load Pinned Versions Test test_suite.addTests(unittest.TestLoader().loadTestsFromTestCase(PinnedVersionsTest)) + # Load Suite Creation Test + test_suite.addTests(unittest.TestLoader().loadTestsFromTestCase(SuiteCreationTest)) + + # Load JEDI config test + test_suite.addTests(unittest.TestLoader().loadTestsFromTestCase(JEDIConfigTest)) + # Create a test runner test_runner = unittest.TextTestRunner() diff --git a/src/swell/test/code_tests/jedi_config_test.py b/src/swell/test/code_tests/jedi_config_test.py new file mode 100644 index 000000000..0678163b4 --- /dev/null +++ b/src/swell/test/code_tests/jedi_config_test.py @@ -0,0 +1,68 @@ +# (C) Copyright 2021- United States Government as represented by the Administrator of the +# National Aeronautics and Space Administration. All Rights Reserved. +# +# This software is licensed under the terms of the Apache Licence Version 2.0 +# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. + + +# -------------------------------------------------------------------------------------------------- + +import os +from ruamel.yaml import YAML +import unittest + +from swell.swell_path import get_swell_path +from swell.utilities.mock_jedi_config import mock_jedi_config +from swell.utilities.scripts.create_mock_configs import defaults_dict +from swell.utilities.test_cache import get_test_cache + +# -------------------------------------------------------------------------------------------------- + + +class JEDIConfigTest(unittest.TestCase): + + def runTest(self) -> None: + + '''Generates new jedi config mocks for all suites and compares them to previous versions. + + Comparison mocks are located under `src/swell/test/jedi_configs`. The intention of this + test is to ensure changes to the jedi configs generated by swell are intentional. These + mock files are run in a 'dry' mode, in that they do not fetch or check observations, + and all filepaths are filled by placeholders. The JEDI configs can then be neatly checked + for equivalence. + + It is expected that this test will fail when any change is made to JEDI, thus new mock + files will need to be generated when changes are made. New mock files can be generated + automatically by running `swell utility CreateMockConfigs`. + ''' + + for suite, defaults in defaults_dict.items(): + model = defaults['model'] + datetime = defaults['datetime'] + executable_type = defaults['executable_type'] + + cache_location = get_test_cache() + + # Create the mock jedi config + config_file = mock_jedi_config(suite, model, datetime, executable_type, cache_location) + + # Read the file + yaml = YAML(typ='safe') + with open(config_file, 'r') as f: + config_dict = yaml.load(f) + + # Open the comparison yaml for the suite + comparison_path = os.path.join(get_swell_path(), 'test', 'jedi_configs') + comparison_config = os.path.join(comparison_path, + f'jedi_{suite}_config.yaml') + with open(comparison_config, 'r') as f: + comparison_dict = yaml.load(f) + + if config_dict != comparison_dict: + raise AssertionError(f'Rendered JEDI config for suite {suite}, {config_file} ' + f'did not match comparison version {comparison_config}. ' + 'Please check the file diffs. If these differences ' + 'are intentional, new mock test files can be generated using ' + '`swell utility CreateMockConfigs`') + +# -------------------------------------------------------------------------------------------------- diff --git a/src/swell/test/code_tests/suite_creation_test.py b/src/swell/test/code_tests/suite_creation_test.py new file mode 100644 index 000000000..846e4b80c --- /dev/null +++ b/src/swell/test/code_tests/suite_creation_test.py @@ -0,0 +1,67 @@ +# (C) Copyright 2021- United States Government as represented by the Administrator of the +# National Aeronautics and Space Administration. All Rights Reserved. +# +# This software is licensed under the terms of the Apache Licence Version 2.0 +# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. + + +# -------------------------------------------------------------------------------------------------- + +import tempfile +import os +import unittest + +from swell.suites.all_suites import get_suites +from swell.deployment.create_experiment import create_experiment_directory +from swell.utilities.logger import get_logger + +# -------------------------------------------------------------------------------------------------- + + +class SuiteCreationTest(unittest.TestCase): + + def runTest(self) -> None: + + '''Test generating all suites to make sure they are configured correctly. + + Checks that templates `defer_to_model` and `defer_to_platform` are filled. + + ''' + + suites = get_suites() + + self.logger = get_logger('SuiteCreationTest') + + for suite in suites: + try: + self.suite_creation_test(suite) + except Exception as e: + raise Exception(f'Error generating {suite} experiment: {e}') + + def suite_creation_test(self, suite: str) -> None: + + tempdir = tempfile.mkdtemp() + + override_dict = {} + + override_dict['experiment_root'] = tempdir + override_dict['skip_r2d2'] = True + + create_experiment_directory(suite, 'defaults', 'nccs_discover_sles15', + override_dict, advanced=False, slurm=None, skip_r2d2=True) + + experiment_yaml = os.path.join(tempdir, f'swell-{suite}', f'swell-{suite}-suite', + 'experiment.yaml') + + with open(experiment_yaml, 'r') as f: + experiment_yaml_str = f.read() + + if 'defer_to_model' in experiment_yaml_str: + raise AssertionError(f'Improperly filled template, `defer_to_model`' + 'present in experiment yaml') + + if 'defer_to_platform' in experiment_yaml_str: + raise AssertionError(f'Improperly filled template, `defer_to_platform`' + 'present in experiment.yaml') + +# -------------------------------------------------------------------------------------------------- diff --git a/src/swell/test/jedi_configs/jedi_3dfgat_atmos_config.yaml b/src/swell/test/jedi_configs/jedi_3dfgat_atmos_config.yaml new file mode 100644 index 000000000..c6aa44731 --- /dev/null +++ b/src/swell/test/jedi_configs/jedi_3dfgat_atmos_config.yaml @@ -0,0 +1,19226 @@ +cost function: + cost type: 4D-Var + jb evaluation: false + time window: + begin: '2023-10-09T21:00:00Z' + length: PT6H + bound to include: begin + geometry: + fms initialization: + namelist filename: ./fv3-jedi/fv3files/fmsmpp.nml + field table filename: ./fv3-jedi/fv3files/field_table_gmao + akbk: ./fv3-jedi/fv3files/akbk72.nc4 + layout: + - 4 + - 4 + npx: '91' + npy: '91' + npz: '72' + model: + name: PSEUDO + tstep: PT1H + filetype: cube sphere history + provider: geos + compute edge pressure from surface pressure: true + max allowable geometry difference: 0.001 + datapath: cycle_dir + filenames: + - bkg.%yyyy%mm%ddT%hh%MM%ssZ.nc4 + - fv3-jedi/bkg/geos.crtmsrf.91.nc4 + field io names: &id001 + eastward_wind: ua + northward_wind: va + air_temperature: t + air_pressure_at_surface: ps + air_pressure_levels: pe + water_vapor_mixing_ratio_wrt_moist_air: q + cloud_liquid_ice: qi + cloud_liquid_water: ql + rain_water: qr + snow_water: qs + mole_fraction_of_ozone_in_air: o3ppmv + geopotential_height_times_gravity_at_surface: phis + initial_mass_fraction_of_large_scale_cloud_condensate: qls + initial_mass_fraction_of_convective_cloud_condensate: qcn + convective_cloud_area_fraction: cfcn + fraction_of_ocean: frocean + fraction_of_land: frland + isotropic_variance_of_filtered_topography: varflt + surface_velocity_scale: ustar + surface_buoyancy_scale: bstar + planetary_boundary_layer_height: zpbl + surface_exchange_coefficient_for_momentum: cm + surface_exchange_coefficient_for_heat: ct + surface_exchange_coefficient_for_moisture: cq + KCBL_before_moist: kcbl + surface_temp_before_moist: tsm + lower_index_where_Kh_greater_than_2: khl + upper_index_where_Kh_greater_than_2: khu + fraction_of_lake: frlake + fraction_of_ice: frseaice + skin_temperature_at_surface: ts + eastward_wind_at_surface: u10m + northward_wind_at_surface: v10m + variable change: + variable change name: Analysis2Model + forecast length: PT6H + analysis variables: &id003 + - eastward_wind + - northward_wind + - air_temperature + - water_vapor_mixing_ratio_wrt_moist_air + - air_pressure_at_surface + - air_pressure_levels + - cloud_liquid_ice + - cloud_liquid_water + - rain_water + - snow_water + - mole_fraction_of_ozone_in_air + - geopotential_height_times_gravity_at_surface + - fraction_of_ocean + - fraction_of_lake + - fraction_of_ice + - skin_temperature_at_surface + background: + datetime: '2023-10-09T21:00:00Z' + filetype: cube sphere history + provider: geos + compute edge pressure from surface pressure: true + max allowable geometry difference: 0.001 + datapath: cycle_dir + filenames: + - bkg.%yyyy%mm%ddT%hh%MM%ssZ.nc4 + - fv3-jedi/bkg/geos.crtmsrf.91.nc4 + state variables: + - eastward_wind + - northward_wind + - air_temperature + - air_pressure_at_surface + - air_pressure_levels + - water_vapor_mixing_ratio_wrt_moist_air + - cloud_liquid_ice + - cloud_liquid_water + - rain_water + - snow_water + - mole_fraction_of_ozone_in_air + - geopotential_height_times_gravity_at_surface + - initial_mass_fraction_of_large_scale_cloud_condensate + - initial_mass_fraction_of_convective_cloud_condensate + - convective_cloud_area_fraction + - fraction_of_ocean + - fraction_of_land + - isotropic_variance_of_filtered_topography + - surface_velocity_scale + - surface_buoyancy_scale + - planetary_boundary_layer_height + - surface_exchange_coefficient_for_momentum + - surface_exchange_coefficient_for_heat + - surface_exchange_coefficient_for_moisture + - KCBL_before_moist + - surface_temp_before_moist + - lower_index_where_Kh_greater_than_2 + - upper_index_where_Kh_greater_than_2 + - fraction_of_lake + - fraction_of_ice + - vtype + - stype + - vfrac + - sheleg + - skin_temperature_at_surface + - soilt + - soilm + - eastward_wind_at_surface + - northward_wind_at_surface + field io names: *id001 + background error: + covariance model: SABER + covariance type: gsi hybrid covariance + saber central block: + saber block name: gsi hybrid covariance + read: + gsi akbk: ./fv3-jedi/fv3files/akbk72.nc4 + gsi error covariance file: ./fv3-jedi/gsibec/gsi-coeffs-gmao-global-l72x144y91.nc4 + gsi berror namelist file: ./fv3-jedi/gsibec/cli_gsibec_configuration_l72x144y91.nml + processor layout x direction: 4 + processor layout y direction: 24 + debugging mode: false + saber outer blocks: + - saber block name: interpolation + inner geometry: + function space: StructuredColumns + custom grid matching gsi: + type: latlon + lats: 91 + lons: 144 + custom partitioner matching gsi: + bands: 24 + halo: 1 + forward interpolator: + local interpolator type: oops unstructured grid interpolator + inverse interpolator: + local interpolator type: oops unstructured grid interpolator + state variables to inverse: &id002 + - eastward_wind + - northward_wind + - air_temperature + - air_pressure_at_surface + - air_pressure_levels + - water_vapor_mixing_ratio_wrt_moist_air + - cloud_liquid_ice + - cloud_liquid_water + - rain_water + - snow_water + - mole_fraction_of_ozone_in_air + - fraction_of_ocean + - fraction_of_lake + - fraction_of_ice + - geopotential_height_times_gravity_at_surface + - skin_temperature_at_surface + linear variable change: + linear variable change name: Control2Analysis + input variables: *id002 + output variables: *id003 + observations: + get values: + variable change: + variable change name: Model2GeoVaLs + hydrometeor effective radii method: gsi + tropopause pressure method: gsi + observers: + - obs space: + name: Aircraft Temperature + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/aircraft_temperature.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.aircraft_temperature.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - airTemperature + obs bias: + input file: cycle_dir/aircraft_temperature.20231009T150000Z.acftbias + output file: cycle_dir/aircraft_temperature.20231009T210000Z.acftbias + bc by record: true + variational bc: + predictors: + - name: constant + - name: obsMetadataPredictor + variable: instantaneousAltitudeRate + - name: obsMetadataPredictor + variable: instantaneousAltitudeRate + order: 2 + covariance: + minimal required obs number: 3 + variance range: + - 1e-06 + - 1.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/aircraft_temperature.20231009T150000Z.acftbias_cov + inflation: + ratio: 1.005 + ratio for small dataset: 2.0 + obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - airTemperature + linear obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - airTemperature + obs filters: + - filter: Variable Assignment + where: + - variable: + name: ObsType/airTemperature + is_in: 130 + assignments: + - name: MetaData/stationIdentification + value: 'KX130 ' + - filter: Variable Assignment + where: + - variable: + name: MetaData/instantaneousAltitudeRate + minvalue: 50.0 + assignments: + - name: MetaData/instantaneousAltitudeRate + value: 0.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 2.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + errors: + - 2.5 + - 2.3 + - 2.1 + - 1.9 + - 1.7 + where: + - variable: + name: ObsType/airTemperature + is_in: 130 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + errors: + - 1.4706 + - 1.3529 + - 1.2353 + - 1.1176 + - 1.0 + where: + - variable: + name: ObsType/airTemperature + is_in: 131,133 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 70000 + - 65000 + - 60000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 5000 + errors: + - 1.5 + - 1.3 + - 1.1 + - 0.9 + - 0.8 + - 0.8 + - 0.75 + - 0.7 + - 0.7 + - 0.75 + - 0.85 + - 1.3 + - 1.5 + - 1.5 + where: + - variable: + name: ObsType/airTemperature + is_in: 132 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 60000 + - 40000 + errors: + - 1.5 + - 1.35 + - 1.25 + - 1.1 + - 1.0 + - 1.3 + - 1.7 + where: + - variable: + name: ObsType/airTemperature + is_in: 134 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + errors: + - 1.4706 + - 1.3529 + - 1.2353 + - 1.1176 + - 1000000000.0 + where: + - variable: + name: ObsType/airTemperature + is_in: 135 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + inflate variables: + - airTemperature + pressure: MetaData/pressure + distance threshold: 60000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreQC/airTemperature + is_in: 4-15 + action: + name: passivate + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: + name: ObsType/airTemperature + is_in: 134, 135 + action: + name: passivate + defer to post: true + - filter: Perform Action + action: + name: inflate error + inflation factor: 10.0 + filter variables: + - name: airTemperature + where: + - variable: + name: MetaData/pressure + maxvalue: 110000 + minvalue: 50000 + - variable: + name: ObsType/airTemperature + is_in: 130 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: GsiAdjustObsError/airTemperature + where: + - variable: + name: GsiAdjustObsError/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 8.0 + surface_obs: false + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/airTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/airTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/airTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreUseFlag/airTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 7.0 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 4.9 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: TempObsErrorData/airTemperature + where: + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: airTemperature + defer to post: true + observation_name: aircraft_temperature + - obs space: + name: Aircraft Wind + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/aircraft_wind.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.aircraft_wind.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + obs prior filters: + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + obs post filters: + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: PreQC/windEastward + is_in: 4-15 + action: + name: passivate + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: + name: ObsType/windEastward + is_in: 234, 235 + action: + name: passivate + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 80000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 1.4 + - 1.5 + - 1.6 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.3 + - 2.6 + - 2.8 + - 3.0 + - 3.2 + - 2.7 + - 2.4 + - 2.1 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 3.6 + where: + - variable: + name: ObsType/windEastward + is_in: 230 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 3.0 + where: + - variable: + name: ObsType/windEastward + is_in: 231 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 2.5 + where: + - variable: + name: ObsType/windEastward + is_in: 233 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 3.0 + where: + - variable: + name: ObsType/windEastward + is_in: 234, 235 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + errors: + - 1.5 + - 1.6 + - 1.7 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.2 + - 2.2 + - 2.3 + - 2.3 + - 2.4 + - 2.4 + - 2.5 + - 2.7 + - 2.9 + - 3.1 + where: + - variable: + name: ObsType/windEastward + is_in: 232 + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + inflate variables: + - windEastward + pressure: MetaData/pressure + distance threshold: 60000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + inflate variables: + - windNorthward + pressure: MetaData/pressure + distance threshold: 60000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: assign error + error function: GsiAdjustObsError/windEastward + where: + - variable: + name: GsiAdjustObsError/windEastward + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: assign error + error function: GsiAdjustObsError/windNorthward + where: + - variable: + name: GsiAdjustObsError/windNorthward + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + surface_obs: false + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + surface_obs: false + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 230 + - 231 + - 232 + - 233 + - 234 + - 235 + cgross: + - 6.0 + - 6.5 + - 7.0 + - 7.5 + - 7.5 + - 7.5 + error_min: + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + variable: windEastward + action: + name: reject + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 230 + - 231 + - 232 + - 233 + - 234 + - 235 + cgross: + - 6.0 + - 6.5 + - 7.0 + - 7.5 + - 7.5 + - 7.5 + error_min: + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + variable: windNorthward + action: + name: reject + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + defer to post: true + observation_name: aircraft_wind + - obs space: + name: AIRS AQUA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/airs_aqua.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.airs_aqua.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: airs_aqua + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/airs_aqua.20231009T150000Z.satbias.nc4 + output file: cycle_dir/airs_aqua.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/airs_aqua.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/airs_aqua.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/airs_aqua.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/airs_aqua.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/airs_aqua_119_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.2 + - 1.2 + - 1.3136 + - 1.4 + - 1.4 + - 1.2639 + - 1.4 + - 1.4 + - 1.1802 + - 1.2517 + - 1.1719 + - 1.2 + - 1.1728 + - 1.1442 + - 1.2 + - 1.2 + - 1.15 + - 1.0801 + - 1.15 + - 1.15 + - 1.0396 + - 1.15 + - 1.15 + - 1.15 + - 1.15 + - 1.15 + - 1.15 + - 1.15 + - 0.9946 + - 1.05 + - 0.9217 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.9591 + - 0.9465 + - 0.9593 + - 0.9337 + - 1.0 + - 0.9861 + - 1.0017 + - 1.1 + - 1.0083 + - 1.0024 + - 1.1 + - 0.9967 + - 1.0094 + - 0.9412 + - 1.1 + - 0.998 + - 0.9807 + - 0.857 + - 0.8727 + - 0.8114 + - 0.879 + - 0.871 + - 0.8853 + - 0.7937 + - 0.8243 + - 0.8 + - 0.8016 + - 0.8 + - 0.7781 + - 0.7475 + - 0.85 + - 0.7405 + - 0.715 + - 0.7416 + - 0.7465 + - 0.9 + - 0.7198 + - 0.7157 + - 0.9 + - 0.727 + - 0.7246 + - 0.704 + - 0.7039 + - 0.66 + - 0.6694 + - 0.6669 + - 0.7031 + - 0.6977 + - 0.6488 + - 0.6653 + - 0.9 + - 0.6265 + - 0.622 + - 0.6308 + - 0.6297 + - 0.621 + - 0.6225 + - 0.6229 + - 0.6234 + - 0.6238 + - 0.6332 + - 0.6425 + - 0.7028 + - 0.6152 + - 0.9 + - 0.7257 + - 0.7288 + - 1.15 + - 0.9 + - 0.6673 + - 0.7473 + - 0.6767 + - 0.7056 + - 0.9 + - 0.95 + - 0.7271 + - 0.95 + - 0.725 + - 0.7601 + - 0.6973 + - 0.7573 + - 0.6011 + - 0.606 + - 0.9 + - 0.6635 + - 0.586 + - 0.5766 + - 0.75 + - 2.0386 + - 0.75 + - 1.0 + - 0.9 + - 0.9 + - 0.9 + - 0.9 + - 0.9 + - 0.9 + - 1.0 + - 1.3386 + - 1.0 + - 1.0 + - 0.85 + - 0.95 + - 1.7386 + - 0.95 + - 0.9 + - 0.8 + - 1.7386 + - 0.75 + - 0.75 + - 0.75 + - 0.8 + - 0.75 + - 0.8 + - 0.9 + - 0.75 + - 0.8 + - 0.8 + - 1.1 + - 0.75 + - 1.1 + - 0.75 + - 0.5991 + - 0.5348 + - 0.6541 + - 0.7421 + - 0.6192 + - 0.8186 + - 1.0616 + - 0.8848 + - 1.024 + - 2.5 + - 1.0249 + - 1.0795 + - 1.2199 + - 2.5 + - 2.5 + - 1.3103 + - 1.3603 + - 2.5 + - 2.5 + - 2.5 + - 1.323 + - 2.5 + - 2.5 + - 2.5 + - 1.4406 + - 2.5 + - 2.5 + - 1.3965 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 1.6997 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 1.6264 + - 2.5 + - 2.5 + - 2.5 + - 1.3436 + - 2.5 + - 2.5 + - 0.5727 + - 0.6838 + - 0.5994 + - 0.5178 + - 0.5145 + - 0.547 + - 0.5572 + - 0.5002 + - 0.4974 + - 0.55 + - 0.4953 + - 0.4883 + - 0.4948 + - 0.5446 + - 0.5777 + - 1.5 + - 1.5 + - 3.0 + - 3.0 + - 2.5 + - 2.5 + - 2.0 + - 1.0 + - 1.5 + - 1.5 + - 1.8 + - 0.6 + - 0.7 + - 0.65 + - 0.675 + - 0.7 + - 0.75 + - 0.775 + - 0.8 + - 0.8 + - 0.85 + - 0.85 + - 0.85 + - 0.7 + - 0.7 + - 0.7 + - 0.7 + - 0.7 + - 0.7 + - 0.7 + - 0.725 + - 0.75 + - 0.775 + - 0.8 + - 0.825 + - 0.8 + - 0.8 + - 0.8 + - 0.75 + - 0.8 + - 0.8 + - 0.8 + - 0.8 + - 0.8 + - 0.85 + - 0.8 + - 0.8 + - 2.5 + - 0.75 + - 0.75 + - 0.75 + - 0.75 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 2122, 2123, 2128, 2134, 2141, 2145, 2149, 2153, 2164, 2189, 2197, + 2209, 2226, 2234, 2280, 2318, 2321, 2325, 2328, 2333, 2339, 2348, 2353, + 2355, 2357, 2363, 2370, 2371, 2377 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: airs_aqua + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: &id004 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: airs_aqua + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 1.0 + - 1.0 + - 3.0 + - 1.0 + - 3.0 + - 1.0 + - 1.0 + - 3.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 3.0 + - 1.0 + - 1.0 + - 3.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 3.0 + - 3.0 + - 3.5 + - 3.0 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 1.7 + - 3.0 + - 1.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.5 + - 1.25 + - 3.5 + - 3.5 + - 3.0 + - 3.0 + - 1.5 + - 3.0 + - 3.0 + - 3.0 + - 1.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.5 + - 3.0 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.5 + - 3.0 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id004 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: airs_aqua + - obs space: + name: AMSR2 GCOM-W1 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsr2_gcom-w1.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsr2_gcom-w1.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: amsr2_gcom-w1 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsr2_gcom-w1.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsr2_gcom-w1.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsr2_gcom-w1.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsr2_gcom-w1.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + var_name: sensorScanPosition + order: 4 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 3 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 2 + - name: sensorScanAngle + var_name: sensorScanPosition + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsr2_gcom-w1.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsr2_gcom-w1.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 340.0 + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.999 + - variable: + name: GeoVaLs/skin_temperature_at_surface_where_sea + minvalue: 275 + - variable: + name: GeoVaLs/wind_speed_at_surface + maxvalue: 12 + - variable: + name: MetaData/latitude + minvalue: -60.0 + maxvalue: 60.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/TotalColumnVaporGuess + minvalue: 10.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SunGlintAngle + minvalue: 20.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: &id005 + - 0.48 + - 3.0737 + - 0.7433 + - 3.643 + - 3.5304 + - 4.427 + - 5.1448 + - 5.0785 + - 4.9763 + - 9.3215 + - 2.5789 + - 5.5274 + - 0.6641 + - 1.3674 + clwret_types: + - ObsValue + maxvalue: 1.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id005 + clwret_types: + - HofX + maxvalue: 1.0 + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: None + value: + name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id005 + clwret_types: + - ObsValue + reference: + name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id005 + clwret_types: + - HofX + minvalue: -0.5 + maxvalue: 0.5 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id005 + clwret_types: + - ObsValue + - HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.1 + - 0.1 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 0.6 + - 0.6 + - 0.6 + - 0.6 + - 0.6 + - 0.5 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + err0: + - 0.8 + - 0.9 + - 0.8 + - 0.9 + - 1.0 + - 1.1 + - 2.0 + - 3.5 + - 3.0 + - 4.8 + - 5.0 + - 6.0 + - 4.5 + - 6.3 + err1: + - 5.0 + - 5.0 + - 5.0 + - 5.0 + - 5.0 + - 18.5 + - 20.0 + - 40.0 + - 20.0 + - 25.0 + - 30.0 + - 30.0 + - 30.0 + - 20.0 + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: None + threshold: 2.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 7-10 + absolute threshold: 30 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 11-14 + absolute threshold: 50 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: amsr2_gcom-w1 + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsr2_gcom-w1 + - obs space: + name: AMSU-A AQUA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_aqua.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_aqua.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_aqua + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_aqua.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_aqua.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_aqua.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_aqua.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_aqua.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_aqua.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id006 + - 2.5 + - 2.0 + - 2.0 + - 0.5 + - 0.4 + - 0.4 + - 0.5 + - 0.3 + - 0.35 + - 0.35 + - 0.45 + - 1.0 + - 1.5 + - 3.75 + - 6.3 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_aqua + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_aqua + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_aqua + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_aqua + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_aqua + error parameter vector: *id006 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 3.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 3.0 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_aqua + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_aqua + - obs space: + name: AMSU-A METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_metop-b.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_metop-b.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_metop-b.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_metop-b.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_metop-b.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_metop-b.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id007 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_metop-b + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_metop-b + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_metop-b + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_metop-b + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_metop-b + error parameter vector: *id007 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_metop-b + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_metop-b + - obs space: + name: AMSU-A METOP-C + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_metop-c.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_metop-c.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_metop-c + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_metop-c.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_metop-c.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_metop-c.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_metop-c.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_metop-c.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_metop-c.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id008 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_metop-c + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_metop-c + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_metop-c + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_metop-c + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_metop-c + error parameter vector: *id008 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_metop-c + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_metop-c + - obs space: + name: AMSU-A NOAA-15 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_n15.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_n15.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_n15 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_n15.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_n15.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_n15.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_n15.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_n15.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_n15.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id009 + - 3.0 + - 2.0 + - 2.0 + - 0.6 + - 0.3 + - 0.23 + - 0.25 + - 0.275 + - 0.34 + - 0.4 + - 0.6 + - 1.0 + - 1.5 + - 5.0 + - 3.0 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_n15 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_n15 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_n15 + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_n15 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_n15 + error parameter vector: *id009 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_n15 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_n15 + - obs space: + name: AMSU-A NOAA-18 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_n18.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_n18.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_n18 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_n18.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_n18.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_n18.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_n18.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_n18.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_n18.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id010 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_n18 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_n18 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_n18 + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_n18 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_n18 + error parameter vector: *id010 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_n18 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_n18 + - obs space: + name: AMSU-A NOAA-19 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_n19.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_n19.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_n19 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_n19.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_n19.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_n19.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_n19.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_n19.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_n19.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id011 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_n19 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_n19 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_n19 + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_n19 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_n19 + error parameter vector: *id011 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_n19 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_n19 + - obs space: + name: ATMS NOAA-20 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/atms_n20.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.atms_n20.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: atms_n20 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/atms_n20.20231009T150000Z.satbias.nc4 + output file: cycle_dir/atms_n20.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: ATMS + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/atms_n20.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/atms_n20.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/atms_n20.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/atms_n20.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id012 + - 5.0 + - 5.0 + - 5.0 + - 3.0 + - 0.55 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 5.0 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-7,16-22 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-7,16 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: atms_n20 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: atms_n20 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + use_biasterm: true + test_biasterm: ObsBiasTerm + sensor: atms_n20 + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: atms_n20 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: atms_n20 + error parameter vector: *id012 + obserr_bound_max: + - 4.5 + - 4.5 + - 3.0 + - 3.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 2.0 + - 4.5 + - 4.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: atms_n20 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: atms_n20 + - obs space: + name: ATMS NPP + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/atms_npp.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.atms_npp.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: atms_npp + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/atms_npp.20231009T150000Z.satbias.nc4 + output file: cycle_dir/atms_npp.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: ATMS + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/atms_npp.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/atms_npp.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/atms_npp.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/atms_npp.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id013 + - 5.0 + - 5.0 + - 5.0 + - 3.0 + - 0.55 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 5.0 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-7,16-22 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-7,16 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: atms_npp + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: atms_npp + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + use_biasterm: true + test_biasterm: ObsBiasTerm + sensor: atms_npp + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: atms_npp + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: atms_npp + error parameter vector: *id013 + obserr_bound_max: + - 4.5 + - 4.5 + - 3.0 + - 3.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 2.0 + - 4.5 + - 4.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: atms_npp + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: atms_npp + - obs space: + name: AVHRR-3 METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/avhrr3_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.avhrr3_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: avhrr3_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/avhrr3_metop-b.20231009T150000Z.satbias.nc4 + output file: cycle_dir/avhrr3_metop-b.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/avhrr3_metop-b.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/avhrr3_metop-b.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/avhrr3_metop-b.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/avhrr3_metop-b.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.0 + - 1.08 + - 1.12 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 3 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 1e-05 + maxvalue: 1000.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: avhrr3_metop-b + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualAVHRR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + cloud detection criteria: + - 0.6 + - 0.68 + - 0.72 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: avhrr3_metop-b + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: avhrr3_metop-b + - obs space: + name: AVHRR-3 NOAA-18 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/avhrr3_n18.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.avhrr3_n18.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: avhrr3_n18 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/avhrr3_n18.20231009T150000Z.satbias.nc4 + output file: cycle_dir/avhrr3_n18.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/avhrr3_n18.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/avhrr3_n18.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/avhrr3_n18.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/avhrr3_n18.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.0 + - 1.08 + - 1.12 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 3 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 1e-05 + maxvalue: 1000.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: avhrr3_n18 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualAVHRR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + cloud detection criteria: + - 0.6 + - 0.68 + - 0.72 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: avhrr3_n18 + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: avhrr3_n18 + - obs space: + name: AVHRR-3 NOAA-19 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/avhrr3_n19.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.avhrr3_n19.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: avhrr3_n19 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/avhrr3_n19.20231009T150000Z.satbias.nc4 + output file: cycle_dir/avhrr3_n19.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/avhrr3_n19.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/avhrr3_n19.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/avhrr3_n19.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/avhrr3_n19.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.0 + - 1.08 + - 1.12 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 3 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 1e-05 + maxvalue: 1000.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: avhrr3_n19 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualAVHRR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + cloud detection criteria: + - 0.6 + - 0.68 + - 0.72 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: avhrr3_n19 + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: avhrr3_n19 + - obs space: + name: CRIS-FSR NOAA-20 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/cris-fsr_n20.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.cris-fsr_n20.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: cris-fsr_n20 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/cris-fsr_n20.20231009T150000Z.satbias.nc4 + output file: cycle_dir/cris-fsr_n20.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/cris-fsr_n20.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/cris-fsr_n20.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/cris-fsr_n20.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/cris-fsr_n20.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/cris-fsr_108_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 0.823 + - 0.76 + - 0.736 + - 0.743 + - 0.856 + - 1.079 + - 0.888 + - 0.778 + - 0.671 + - 0.65 + - 0.643 + - 0.629 + - 0.629 + - 0.618 + - 0.638 + - 0.619 + - 0.61 + - 0.627 + - 0.601 + - 0.617 + - 0.608 + - 0.498 + - 0.5112 + - 0.4922 + - 0.4959 + - 0.4954 + - 0.4836 + - 0.514 + - 0.5005 + - 0.4917 + - 0.4881 + - 0.4656 + - 0.4793 + - 0.4638 + - 0.4557 + - 0.4666 + - 0.4468 + - 0.4534 + - 0.4471 + - 0.4448 + - 0.4469 + - 0.536 + - 0.4426 + - 0.4388 + - 0.534 + - 0.4368 + - 0.438 + - 0.531 + - 0.4379 + - 0.535 + - 0.4404 + - 0.4405 + - 0.4409 + - 0.4472 + - 0.4555 + - 0.4433 + - 0.4437 + - 0.4454 + - 0.4448 + - 0.4465 + - 0.4499 + - 0.4488 + - 0.54 + - 0.4534 + - 0.4472 + - 0.455 + - 0.4562 + - 0.452 + - 0.4639 + - 0.538 + - 0.4573 + - 0.4604 + - 0.4533 + - 0.4692 + - 0.566 + - 0.4457 + - 0.4457 + - 0.5154 + - 0.5084 + - 0.528 + - 0.552 + - 0.56 + - 0.567 + - 0.546 + - 0.495 + - 0.4809 + - 0.4732 + - 0.4861 + - 0.4632 + - 0.529 + - 0.4748 + - 0.5007 + - 0.5711 + - 0.595 + - 0.5469 + - 0.626 + - 0.541 + - 0.543 + - 0.533 + - 0.541 + - 0.4695 + - 0.53 + - 0.539 + - 0.529 + - 0.542 + - 0.4681 + - 0.536 + - 0.542 + - 0.535 + - 0.563 + - 0.4805 + - 0.647 + - 0.609 + - 0.553 + - 0.583 + - 0.576 + - 0.6294 + - 0.5885 + - 0.556 + - 0.578 + - 0.566 + - 0.601 + - 0.5627 + - 0.5675 + - 0.592 + - 0.5166 + - 0.589 + - 0.5291 + - 0.5892 + - 0.5976 + - 0.5834 + - 0.6512 + - 0.6748 + - 0.6615 + - 0.6003 + - 0.5669 + - 0.5587 + - 0.5507 + - 0.5871 + - 0.616 + - 0.637 + - 0.633 + - 0.639 + - 0.655 + - 0.641 + - 0.664 + - 0.648 + - 0.656 + - 0.663 + - 0.652 + - 0.681 + - 0.662 + - 0.673 + - 0.672 + - 0.68 + - 0.735 + - 0.732 + - 0.715 + - 0.674 + - 0.687 + - 0.702 + - 0.705 + - 0.715 + - 0.725 + - 0.707 + - 0.74 + - 0.74 + - 0.874 + - 0.737 + - 0.819 + - 0.76 + - 0.869 + - 0.9 + - 0.698 + - 0.823 + - 0.676 + - 0.682 + - 0.766 + - 0.68 + - 0.685 + - 0.694 + - 0.695 + - 0.689 + - 0.727 + - 0.695 + - 0.688 + - 0.677 + - 0.736 + - 0.651 + - 0.661 + - 0.6199 + - 0.6223 + - 0.6036 + - 0.6003 + - 0.5991 + - 0.598 + - 0.591 + - 0.5764 + - 0.577 + - 0.5593 + - 0.597 + - 0.576 + - 0.574 + - 0.578 + - 0.579 + - 0.575 + - 0.576 + - 0.568 + - 0.575 + - 0.569 + - 0.559 + - 0.568 + - 0.5401 + - 0.55 + - 0.5575 + - 0.578 + - 0.5635 + - 0.5786 + - 0.5807 + - 0.581 + - 0.573 + - 0.569 + - 0.567 + - 0.552 + - 0.55 + - 0.558 + - 0.552 + - 0.562 + - 0.574 + - 0.575 + - 0.629 + - 0.682 + - 0.756 + - 1.05 + - 1.122 + - 1.1402 + - 1.154 + - 1.131 + - 1.123 + - 1.159 + - 1.106 + - 1.116 + - 1.069 + - 1.077 + - 1.155 + - 1.162 + - 1.1402 + - 0.644 + - 1.208 + - 1.1402 + - 1.295 + - 1.258 + - 1.1402 + - 0.606 + - 0.603 + - 0.563 + - 0.592 + - 0.607 + - 0.611 + - 0.612 + - 0.618 + - 0.626 + - 0.629 + - 0.583 + - 0.8646 + - 0.626 + - 0.639 + - 0.559 + - 0.827 + - 0.612 + - 0.576 + - 0.58 + - 0.575 + - 0.688 + - 0.697 + - 0.743 + - 0.681 + - 0.832 + - 0.719 + - 0.785 + - 0.878 + - 0.9402 + - 1.0054 + - 1.073 + - 1.129 + - 1.035 + - 1.027 + - 0.9703 + - 1.195 + - 0.9153 + - 1.266 + - 1.153 + - 1.348 + - 1.18 + - 1.269 + - 1.311 + - 0.9914 + - 1.359 + - 1.166 + - 1.139 + - 1.2817 + - 1.398 + - 1.542 + - 1.229 + - 1.377 + - 1.28 + - 1.245 + - 1.1188 + - 1.193 + - 1.293 + - 1.275 + - 1.331 + - 1.34 + - 1.099 + - 1.048 + - 1.124 + - 1.225 + - 1.183 + - 1.196 + - 1.4 + - 1.333 + - 1.417 + - 1.326 + - 1.305 + - 1.0638 + - 1.268 + - 1.217 + - 1.289 + - 1.395 + - 1.232 + - 1.435 + - 1.298 + - 1.328 + - 1.262 + - 1.199 + - 1.391 + - 1.233 + - 1.329 + - 1.664 + - 1.509 + - 1.349 + - 1.481 + - 1.595 + - 1.485 + - 1.532 + - 1.504 + - 1.584 + - 1.609 + - 1.516 + - 1.489 + - 1.502 + - 1.544 + - 1.611 + - 1.539 + - 1.296 + - 1.288 + - 1.241 + - 1.32 + - 1.313 + - 1.301 + - 1.843 + - 1.747 + - 1.711 + - 1.771 + - 1.937 + - 1.575 + - 1.573 + - 1.5 + - 1.459 + - 1.402 + - 1.363 + - 2.201 + - 2.127 + - 2.177 + - 2.157 + - 2.192 + - 2.146 + - 2.151 + - 2.071 + - 1.986 + - 1.845 + - 1.687 + - 1.505 + - 1.373 + - 1.229 + - 1.113 + - 1.004 + - 0.936 + - 0.895 + - 0.871 + - 0.841 + - 0.821 + - 0.805 + - 0.8 + - 0.792 + - 0.797 + - 0.791 + - 0.783 + - 0.777 + - 0.785 + - 0.787 + - 0.789 + - 0.793 + - 0.794 + - 0.745 + - 0.75 + - 0.748 + - 0.749 + - 0.744 + - 0.733 + - 0.733 + - 0.741 + - 0.746 + - 0.746 + - 0.738 + - 0.743 + - 0.745 + - 0.749 + - 0.75 + - 0.75 + - 0.884 + - 0.906 + - 0.917 + - 0.924 + - 0.922 + - 0.928 + - 0.921 + - 0.938 + - 0.931 + - 0.943 + - 0.946 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, + 1983, 1984, 1985, 1986, 1987, 2119, 2140, 2143, 2147, 2153, 2158, 2161, + 2168, 2171, 2175, 2182 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: cris-fsr_n20 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: &id014 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 31 + - 31 + - 30 + - 31 + - 30 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 31 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: cris-fsr_n20 + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 2.0 + - 0.4 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.4 + - 0.4 + - 0.4 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id014 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: cris-fsr_n20 + - obs space: + name: CRIS-FSR NPP + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/cris-fsr_npp.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.cris-fsr_npp.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: cris-fsr_npp + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/cris-fsr_npp.20231009T150000Z.satbias.nc4 + output file: cycle_dir/cris-fsr_npp.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/cris-fsr_npp.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/cris-fsr_npp.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/cris-fsr_npp.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/cris-fsr_npp.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/cris-fsr_108_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 0.823 + - 0.76 + - 0.736 + - 0.743 + - 0.856 + - 1.079 + - 0.888 + - 0.778 + - 0.671 + - 0.65 + - 0.643 + - 0.629 + - 0.629 + - 0.618 + - 0.638 + - 0.619 + - 0.61 + - 0.627 + - 0.601 + - 0.617 + - 0.608 + - 0.498 + - 0.5112 + - 0.4922 + - 0.4959 + - 0.4954 + - 0.4836 + - 0.514 + - 0.5005 + - 0.4917 + - 0.4881 + - 0.4656 + - 0.4793 + - 0.4638 + - 0.4557 + - 0.4666 + - 0.4468 + - 0.4534 + - 0.4471 + - 0.4448 + - 0.4469 + - 0.536 + - 0.4426 + - 0.4388 + - 0.534 + - 0.4368 + - 0.438 + - 0.531 + - 0.4379 + - 0.535 + - 0.4404 + - 0.4405 + - 0.4409 + - 0.4472 + - 0.4555 + - 0.4433 + - 0.4437 + - 0.4454 + - 0.4448 + - 0.4465 + - 0.4499 + - 0.4488 + - 0.54 + - 0.4534 + - 0.4472 + - 0.455 + - 0.4562 + - 0.452 + - 0.4639 + - 0.538 + - 0.4573 + - 0.4604 + - 0.4533 + - 0.4692 + - 0.566 + - 0.4457 + - 0.4457 + - 0.5154 + - 0.5084 + - 0.528 + - 0.552 + - 0.56 + - 0.567 + - 0.546 + - 0.495 + - 0.4809 + - 0.4732 + - 0.4861 + - 0.4632 + - 0.529 + - 0.4748 + - 0.5007 + - 0.5711 + - 0.595 + - 0.5469 + - 0.626 + - 0.541 + - 0.543 + - 0.533 + - 0.541 + - 0.4695 + - 0.53 + - 0.539 + - 0.529 + - 0.542 + - 0.4681 + - 0.536 + - 0.542 + - 0.535 + - 0.563 + - 0.4805 + - 0.647 + - 0.609 + - 0.553 + - 0.583 + - 0.576 + - 0.6294 + - 0.5885 + - 0.556 + - 0.578 + - 0.566 + - 0.601 + - 0.5627 + - 0.5675 + - 0.592 + - 0.5166 + - 0.589 + - 0.5291 + - 0.5892 + - 0.5976 + - 0.5834 + - 0.6512 + - 0.6748 + - 0.6615 + - 0.6003 + - 0.5669 + - 0.5587 + - 0.5507 + - 0.5871 + - 0.616 + - 0.637 + - 0.633 + - 0.639 + - 0.655 + - 0.641 + - 0.664 + - 0.648 + - 0.656 + - 0.663 + - 0.652 + - 0.681 + - 0.662 + - 0.673 + - 0.672 + - 0.68 + - 0.735 + - 0.732 + - 0.715 + - 0.674 + - 0.687 + - 0.702 + - 0.705 + - 0.715 + - 0.725 + - 0.707 + - 0.74 + - 0.74 + - 0.874 + - 0.737 + - 0.819 + - 0.76 + - 0.869 + - 0.9 + - 0.698 + - 0.823 + - 0.676 + - 0.682 + - 0.766 + - 0.68 + - 0.685 + - 0.694 + - 0.695 + - 0.689 + - 0.727 + - 0.695 + - 0.688 + - 0.677 + - 0.736 + - 0.651 + - 0.661 + - 0.6199 + - 0.6223 + - 0.6036 + - 0.6003 + - 0.5991 + - 0.598 + - 0.591 + - 0.5764 + - 0.577 + - 0.5593 + - 0.597 + - 0.576 + - 0.574 + - 0.578 + - 0.579 + - 0.575 + - 0.576 + - 0.568 + - 0.575 + - 0.569 + - 0.559 + - 0.568 + - 0.5401 + - 0.55 + - 0.5575 + - 0.578 + - 0.5635 + - 0.5786 + - 0.5807 + - 0.581 + - 0.573 + - 0.569 + - 0.567 + - 0.552 + - 0.55 + - 0.558 + - 0.552 + - 0.562 + - 0.574 + - 0.575 + - 0.629 + - 0.682 + - 0.756 + - 1.05 + - 1.122 + - 1.1402 + - 1.154 + - 1.131 + - 1.123 + - 1.159 + - 1.106 + - 1.116 + - 1.069 + - 1.077 + - 1.155 + - 1.162 + - 1.1402 + - 0.644 + - 1.208 + - 1.1402 + - 1.295 + - 1.258 + - 1.1402 + - 0.606 + - 0.603 + - 0.563 + - 0.592 + - 0.607 + - 0.611 + - 0.612 + - 0.618 + - 0.626 + - 0.629 + - 0.583 + - 0.8646 + - 0.626 + - 0.639 + - 0.559 + - 0.827 + - 0.612 + - 0.576 + - 0.58 + - 0.575 + - 0.688 + - 0.697 + - 0.743 + - 0.681 + - 0.832 + - 0.719 + - 0.785 + - 0.878 + - 0.9402 + - 1.0054 + - 1.073 + - 1.129 + - 1.035 + - 1.027 + - 0.9703 + - 1.195 + - 0.9153 + - 1.266 + - 1.153 + - 1.348 + - 1.18 + - 1.269 + - 1.311 + - 0.9914 + - 1.359 + - 1.166 + - 1.139 + - 1.2817 + - 1.398 + - 1.542 + - 1.229 + - 1.377 + - 1.28 + - 1.245 + - 1.1188 + - 1.193 + - 1.293 + - 1.275 + - 1.331 + - 1.34 + - 1.099 + - 1.048 + - 1.124 + - 1.225 + - 1.183 + - 1.196 + - 1.4 + - 1.333 + - 1.417 + - 1.326 + - 1.305 + - 1.0638 + - 1.268 + - 1.217 + - 1.289 + - 1.395 + - 1.232 + - 1.435 + - 1.298 + - 1.328 + - 1.262 + - 1.199 + - 1.391 + - 1.233 + - 1.329 + - 1.664 + - 1.509 + - 1.349 + - 1.481 + - 1.595 + - 1.485 + - 1.532 + - 1.504 + - 1.584 + - 1.609 + - 1.516 + - 1.489 + - 1.502 + - 1.544 + - 1.611 + - 1.539 + - 1.296 + - 1.288 + - 1.241 + - 1.32 + - 1.313 + - 1.301 + - 1.843 + - 1.747 + - 1.711 + - 1.771 + - 1.937 + - 1.575 + - 1.573 + - 1.5 + - 1.459 + - 1.402 + - 1.363 + - 2.201 + - 2.127 + - 2.177 + - 2.157 + - 2.192 + - 2.146 + - 2.151 + - 2.071 + - 1.986 + - 1.845 + - 1.687 + - 1.505 + - 1.373 + - 1.229 + - 1.113 + - 1.004 + - 0.936 + - 0.895 + - 0.871 + - 0.841 + - 0.821 + - 0.805 + - 0.8 + - 0.792 + - 0.797 + - 0.791 + - 0.783 + - 0.777 + - 0.785 + - 0.787 + - 0.789 + - 0.793 + - 0.794 + - 0.745 + - 0.75 + - 0.748 + - 0.749 + - 0.744 + - 0.733 + - 0.733 + - 0.741 + - 0.746 + - 0.746 + - 0.738 + - 0.743 + - 0.745 + - 0.749 + - 0.75 + - 0.75 + - 0.884 + - 0.906 + - 0.917 + - 0.924 + - 0.922 + - 0.928 + - 0.921 + - 0.938 + - 0.931 + - 0.943 + - 0.946 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, + 1983, 1984, 1985, 1986, 1987, 2119, 2140, 2143, 2147, 2153, 2158, 2161, + 2168, 2171, 2175, 2182 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: cris-fsr_npp + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: &id015 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 31 + - 31 + - 30 + - 31 + - 30 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 31 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: cris-fsr_npp + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 2.0 + - 0.4 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.4 + - 0.4 + - 0.4 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id015 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: cris-fsr_npp + - obs space: + name: GMI GPM + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/gmi_gpm.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.gmi_gpm.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: gmi_gpm + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/gmi_gpm.20231009T150000Z.satbias.nc4 + output file: cycle_dir/gmi_gpm.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/gmi_gpm.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/gmi_gpm.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: cloudWaterContent + sensor: GMI_GPM + ch37v: 6 + ch37h: 7 + order: 2 + tlapse: cycle_dir/gmi_gpm.20231009T150000Z.tlapse.txt + - name: cloudWaterContent + sensor: GMI_GPM + ch37v: 6 + ch37h: 7 + tlapse: cycle_dir/gmi_gpm.20231009T150000Z.tlapse.txt + - name: sensorScanAngle + var_name: sensorScanPosition + order: 4 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 3 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 2 + - name: sensorScanAngle + var_name: sensorScanPosition + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/gmi_gpm.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/gmi_gpm.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-9 + minvalue: 50.0 + maxvalue: 320.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 10-13 + minvalue: 70.0 + maxvalue: 320.0 + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 5 + maxvalue: 70 + - variable: + name: MetaData/latitude + minvalue: -55.0 + maxvalue: 55.0 + - variable: + name: MetaData/heightOfSurface + maxvalue: 2000 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + minvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/latitude + minvalue: -20.0 + maxvalue: 0.0 + - variable: + name: MetaData/longitude + minvalue: 25.0 + maxvalue: 40.0 + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/cloudWaterContent_obs + type: float + function: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + maxvalue: 900 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - HofX + maxvalue: 900 + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/cloudWaterContent_hofx + type: float + function: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - HofX + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + minvalue: 0.0 + maxvalue: 0.05 + - variable: + name: ObsFunction/Emissivity_Diff_GMI + options: + channel: 2 + regression_constant_1: 0.1329 + regression_constant_2: 0.42468 + regression_coeff_1: + - -0.00548 + - 0.00772 + - 0.0053 + - -0.00425 + - 0.00053 + - 8e-05 + - -3e-05 + - -0.00144 + - 0.00059 + - -0.00016 + - 3e-05 + - -0.00011 + - 0.00017 + regression_coeff_2: + - 0.00289 + - -0.00142 + minvalue: 0.01 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + minvalue: 0.0 + maxvalue: 0.05 + - variable: + name: ObsFunction/Emissivity_Diff_GMI + options: + channel: 4 + regression_constant_1: 0.15627 + regression_constant_2: 0.83807 + regression_coeff_1: + - -0.01084 + - 0.01194 + - 0.01111 + - -0.00784 + - 0.0006 + - 8e-05 + - -3e-05 + - -0.00248 + - 0.00105 + - -8e-05 + - 0.0 + - -0.00013 + - 0.00016 + regression_coeff_2: + - 0.00048 + - -0.00207 + minvalue: 0.035 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + minvalue: 0.0 + maxvalue: 0.05 + - variable: + name: ObsFunction/Emissivity_Diff_GMI + options: + channel: 7 + regression_constant_1: 0.30306 + regression_constant_2: 1.24071 + regression_coeff_1: + - -0.01793 + - 0.0173 + - 0.01784 + - -0.01199 + - 0.00067 + - 0.00013 + - -4e-05 + - -0.00365 + - 0.00154 + - -4e-05 + - -1e-05 + - -0.00015 + - 0.00017 + regression_coeff_2: + - 0.00068 + - -0.00342 + minvalue: 0.05 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + - HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.3 + - 0.2 + - 0.3 + - 0.3 + x2: + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + err0: + - 2.7 + - 3.7 + - 3.5 + - 4.5 + - 4.0 + - 3.8 + - 300.0 + - 5.0 + - 11.5 + - 5.0 + - 5.0 + - 2.5 + - 3.0 + err1: + - 17.0 + - 23.0 + - 13.0 + - 25.0 + - 11.0 + - 13.0 + - 23.0 + - 10.0 + - 20.0 + - 15.0 + - 20.0 + - 8.0 + - 13.0 + err2: + - 25.0 + - 40.0 + - 40.0 + - 55.0 + - 35.0 + - 25.0 + - 500.0 + - 50.0 + - 50.0 + - 50.0 + - 50.0 + - 30.0 + - 40.0 + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 1,2,4,6 + threshold: 2.0 + absolute threshold: 30.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 9,10,11 + threshold: 2.0 + absolute threshold: 20.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 3,5,8 + threshold: 2.0 + absolute threshold: 15.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 12,13 + threshold: 2.0 + absolute threshold: 10.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 7 + threshold: 2.0 + absolute threshold: 5.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: gmi_gpm + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: gmi_gpm + - obs space: + name: gnssrobndnbam + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/gps.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - sequenceNumber + sort variable: impactHeightRO + sort order: ascending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.gps.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - bendingAngle + obs operator: + name: GnssroBndNBAM + obs options: + use_compress: 1 + vertlayer: full + sr_steps: 2 + super_ref_qc: NBAM + obs filters: + - filter: BlackList + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 41,265,266,421,440,724,725,726,727,728,729 + - filter: Perform Action + filter variables: + - name: bendingAngle + where: + - variable: PreUseFlag/bendingAngle + minvalue: 1 + action: + name: reject + - filter: Domain Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/impactHeightRO + minvalue: 0 + maxvalue: 55000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 265,266,267,268,269 + test variables: + - name: MetaData/impactHeightRO + maxvalue: 45000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 3-5 + test variables: + - name: MetaData/impactHeightRO + minvalue: 8000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 267,268,269 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 401 + test variables: + - name: MetaData/impactHeightRO + minvalue: 5000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 267,268,269 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 402-999 + test variables: + - name: MetaData/impactHeightRO + minvalue: 9000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 265,266 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 401 + test variables: + - name: MetaData/impactHeightRO + minvalue: 5000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 265,266 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 402-999 + test variables: + - name: MetaData/impactHeightRO + minvalue: 8000.1 + action: + name: reject + - filter: ROobserror + filter variables: + - name: bendingAngle + errmodel: NBAM + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: inflate error + inflation factor: 2.0 + where: + - variable: MetaData/satelliteIdentifier + is_in: 267,268,269 + - filter: Variable Assignment + assignments: + - name: JediAdjustObsError/bendingAngle + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/bendingAngle + defer to post: true + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: assign error + error parameter: 1.0 + where: + - variable: + name: JediAdjustObsError/bendingAngle + maxvalue: 1.0 + - variable: + name: JediAdjustObsError/bendingAngle + value: is_valid + - variable: + name: MetaData/satelliteIdentifier + is_in: 3,5,41,42,43,44,267,268,269,440,421,724,725,726,727,728,729, 750,751,752,753,754,755,821,825 + defer to post: true + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: assign error + error parameter: 10.0 + where: + - variable: + name: JediAdjustObsError/bendingAngle + minvalue: 10.0 + - variable: + name: JediAdjustObsError/bendingAngle + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: bendingAngle + threshold: 5 + action: + name: reject + defer to post: true + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: assign error + error function: JediAdjustObsError/bendingAngle + where: + - variable: + name: JediAdjustObsError/bendingAngle + value: is_valid + defer to post: true + - filter: Background Check RONBAM + filter variables: + - name: bendingAngle + defer to post: true + - filter: Background Check RONBAM + filter variables: + - name: bendingAngle + action: + name: RONBAMErrInflate_GEOS + defer to post: true + observation_name: gps + - obs space: + name: IASI METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/iasi_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.iasi_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: iasi_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/iasi_metop-b.20231009T150000Z.satbias.nc4 + output file: cycle_dir/iasi_metop-b.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/iasi_metop-b.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/iasi_metop-b.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/iasi_metop-b.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/iasi_metop-b.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/iasi_metop_141_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id016 + - 0.727 + - 0.81 + - 0.75 + - 0.79 + - 0.7055 + - 0.74 + - 0.68 + - 0.72 + - 0.6526 + - 0.65 + - 0.665 + - 0.69 + - 0.6394 + - 0.64 + - 0.6528 + - 0.6065 + - 0.6246 + - 0.61 + - 0.6423 + - 0.5995 + - 0.59 + - 0.6069 + - 0.6 + - 0.5965 + - 0.64 + - 0.62 + - 0.589 + - 0.5865 + - 0.65 + - 0.5861 + - 0.61 + - 0.5874 + - 0.68 + - 0.606 + - 0.68 + - 4.38 + - 3.05 + - 2.31 + - 1.56 + - 1.33 + - 1.58 + - 0.93 + - 0.5832 + - 0.5587 + - 0.5867 + - 0.58 + - 0.5655 + - 0.5522 + - 0.5864 + - 0.5475 + - 0.5854 + - 0.5455 + - 0.5811 + - 0.5376 + - 0.5452 + - 0.5686 + - 0.5329 + - 0.5655 + - 0.5302 + - 0.545 + - 0.5628 + - 0.59 + - 0.5262 + - 0.559 + - 0.5264 + - 0.5442 + - 0.51 + - 0.5513 + - 0.5224 + - 0.5523 + - 0.5188 + - 0.5487 + - 0.5245 + - 0.58 + - 0.5437 + - 0.5343 + - 0.5364 + - 0.64 + - 0.5338 + - 0.72 + - 0.537 + - 0.75 + - 0.51 + - 0.65 + - 0.5274 + - 0.529 + - 0.5187 + - 0.5228 + - 1.12 + - 0.5222 + - 0.5109 + - 0.67 + - 0.5133 + - 0.5179 + - 0.507 + - 0.67 + - 0.5091 + - 0.62 + - 0.5093 + - 0.69 + - 0.5048 + - 0.5024 + - 0.78 + - 0.497 + - 0.5337 + - 0.4865 + - 0.4915 + - 0.4835 + - 0.4869 + - 0.87 + - 0.4824 + - 0.4852 + - 0.84 + - 0.84 + - 0.84 + - 0.5318 + - 0.8 + - 0.4772 + - 0.98 + - 0.488 + - 0.4978 + - 0.5157 + - 0.61 + - 0.5213 + - 0.4884 + - 0.79 + - 0.62 + - 0.66 + - 0.4691 + - 0.65 + - 0.4809 + - 0.468 + - 0.62 + - 0.4679 + - 0.6913 + - 0.4705 + - 0.4785 + - 0.47 + - 0.4773 + - 0.4703 + - 0.98 + - 0.4697 + - 0.4662 + - 0.65 + - 0.467 + - 0.4883 + - 0.4684 + - 0.4684 + - 0.4947 + - 0.5393 + - 0.5024 + - 0.4715 + - 0.621 + - 0.6136 + - 0.5316 + - 1.78 + - 0.5099 + - 1.14 + - 0.539 + - 1.79 + - 0.508 + - 0.5723 + - 1.94 + - 2.01 + - 0.49 + - 0.5647 + - 0.5022 + - 1.47 + - 0.5815 + - 0.6782 + - 2.13 + - 0.5445 + - 1.52 + - 0.5555 + - 1.96 + - 2.31 + - 2.33 + - 2.32 + - 2.31 + - 0.6994 + - 0.7006 + - 0.706 + - 0.9785 + - 0.7023 + - 0.6991 + - 0.6946 + - 2.28 + - 2.26 + - 2.26 + - 2.26 + - 0.6608 + - 0.6835 + - 0.6822 + - 2.24 + - 2.26 + - 0.6735 + - 2.28 + - 0.667 + - 0.7732 + - 0.6642 + - 0.648 + - 0.6629 + - 2.29 + - 2.29 + - 0.6799 + - 0.623 + - 2.32 + - 0.603 + - 0.6224 + - 2.32 + - 0.6187 + - 2.31 + - 2.31 + - 2.28 + - 2.29 + - 2.28 + - 2.26 + - 1.966 + - 2.27 + - 2.26 + - 2.25 + - 2.27 + - 2.24 + - 2.21 + - 2.24 + - 2.17 + - 2.18 + - 2.17 + - 2.21 + - 1.4 + - 2.16 + - 2.2 + - 2.13 + - 2.12 + - 2.13 + - 2.1 + - 2.12 + - 2.11 + - 2.09 + - 2.09 + - 2.08 + - 2.09 + - 2.04 + - 2.04 + - 1.966 + - 2.01 + - 2.05 + - 2.03 + - 2.06 + - 1.98 + - 1.95 + - 1.94 + - 1.91 + - 1.857 + - 1.76 + - 1.748 + - 1.83 + - 2.04 + - 1.748 + - 1.99 + - 2.075 + - 2.07 + - 2.02 + - 2.04 + - 2.1 + - 1.966 + - 2.18 + - 2.21 + - 2.24 + - 2.23 + - 2.23 + - 1.98 + - 2.2 + - 2.18 + - 2.18 + - 2.21 + - 2.23 + - 2.24 + - 2.24 + - 2.25 + - 1.8 + - 2.24 + - 1.73 + - 1.73 + - 2.27 + - 1.67 + - 2.21 + - 1.72 + - 2.23 + - 2.23 + - 2.23 + - 2.24 + - 2.23 + - 2.12 + - 2.17 + - 1.74 + - 2.02 + - 1.88 + - 1.67 + - 1.73 + - 1.83 + - 1.82 + - 1.73 + - 1.83 + - 2.19 + - 1.84 + - 1.89 + - 1.6 + - 1.71 + - 1.86 + - 1.85 + - 1.84 + - 1.87 + - 1.91 + - 1.52 + - 1.95 + - 1.87 + - 1.89 + - 1.91 + - 1.91 + - 1.93 + - 1.9 + - 1.91 + - 1.9 + - 1.89 + - 1.89 + - 1.91 + - 1.9 + - 1.91 + - 1.91 + - 1.91 + - 1.93 + - 1.94 + - 1.91 + - 1.92 + - 1.77 + - 1.91 + - 1.95 + - 1.19 + - 1.96 + - 1.98 + - 1.94 + - 1.55 + - 1.91 + - 1.92 + - 1.92 + - 1.97 + - 1.93 + - 1.99 + - 1.86 + - 1.12 + - 1.93 + - 1.92 + - 1.95 + - 1.85 + - 1.84 + - 1.91 + - 1.12 + - 1.82 + - 1.82 + - 1.95 + - 1.24 + - 1.94 + - 1.96 + - 1.21 + - 1.83 + - 1.96 + - 1.36 + - 1.96 + - 1.82 + - 1.92 + - 1.68 + - 1.93 + - 1.23 + - 1.96 + - 1.93 + - 1.86 + - 1.41 + - 1.16 + - 1.6 + - 1.25 + - 1.2 + - 1.65 + - 1.66 + - 1.87 + - 1.94 + - 1.96 + - 1.91 + - 1.25 + - 1.93 + - 1.91 + - 1.7 + - 0.99 + - 1.81 + - 1.92 + - 1.95 + - 1.5 + - 1.47 + - 1.15 + - 1.58 + - 1.18 + - 1.82 + - 1.13 + - 1.83 + - 1.91 + - 1.26 + - 1.27 + - 1.91 + - 1.45 + - 1.6 + - 1.29 + - 1.94 + - 1.94 + - 1.23 + - 1.95 + - 1.21 + - 1.94 + - 1.86 + - 1.9 + - 1.33 + - 1.75 + - 2.02 + - 1.98 + - 2.03 + - 1.83 + - 1.5 + - 2.04 + - 2.02 + - 1.9 + - 2.0 + - 2.02 + - 1.95 + - 1.93 + - 1.95 + - 1.95 + - 1.99 + - 2.0 + - 1.94 + - 1.96 + - 1.86 + - 1.92 + - 1.88 + - 1.86 + - 1.84 + - 1.87 + - 1.77 + - 1.89 + - 1.89 + - 1.88 + - 1.94 + - 1.82 + - 1.79 + - 1.86 + - 2.06 + - 2.33 + - 1.88 + - 1.86 + - 1.81 + - 1.8 + - 1.8 + - 1.86 + - 1.9 + - 2.0 + - 2.06 + - 2.1 + - 2.2 + - 2.0 + - 2.16 + - 1.98 + - 1.8 + - 1.8 + - 1.85 + - 1.75 + - 2.04 + - 2.19 + - 2.14 + - 2.19 + - 1.86 + - 2.1 + - 2.11 + - 2.18 + - 2.03 + - 2.28 + - 2.19 + - 2.26 + - 2.26 + - 2.21 + - 2.21 + - 2.26 + - 2.33 + - 2.27 + - 2.21 + - 2.12 + - 2.23 + - 2.26 + - 2.25 + - 1.88 + - 2.26 + - 2.24 + - 2.36 + - 2.29 + - 2.35 + - 2.3 + - 2.27 + - 2.08 + - 2.05 + - 2.27 + - 2.28 + - 2.27 + - 2.28 + - 1.97 + - 2.25 + - 2.25 + - 2.25 + - 2.31 + - 2.28 + - 2.27 + - 2.13 + - 2.24 + - 2.28 + - 2.28 + - 2.41 + - 2.34 + - 9.32 + - 2.28 + - 2.38 + - 2.27 + - 2.27 + - 2.39 + - 2.11 + - 2.09 + - 2.1 + - 2.06 + - 2.12 + - 2.08 + - 2.0 + - 1.93 + - 2.02 + - 2.55 + - 1.54 + - 1.64 + - 1.51 + - 1.55 + - 2.82 + - 2.92 + - 2.55 + - 2.37 + - 1.85 + - 1.6 + - 1.72 + - 1.74 + - 1.79 + - 1.9 + - 1.94 + - 2.0 + - 2.04 + - 2.08 + - 2.12 + - 2.13 + - 2.16 + - 2.18 + - 2.18 + - 2.2 + - 2.2 + - 2.41 + - 2.39 + - 2.38 + - 2.4 + - 2.42 + - 2.41 + - 2.43 + - 2.45 + - 2.43 + - 2.45 + - 2.43 + - 2.4 + - 2.44 + - 2.4 + - 2.42 + - 2.43 + - 2.45 + - 2.45 + - 2.45 + - 2.46 + - 2.45 + - 2.45 + - 2.43 + - 2.51 + - 2.48 + - 2.48 + - 2.53 + - 2.46 + - 2.49 + - 2.5 + - 2.5 + - 2.5 + - 2.52 + - 2.52 + - 2.54 + - 2.5 + - 2.48 + - 2.5 + - 2.55 + - 2.5 + - 2.48 + - 2.5 + - 2.5 + - 2.52 + - 2.52 + - 2.48 + - 2.5 + - 2.5 + - 2.52 + - 2.46 + - 2.53 + - 9.0 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 7024, 7027, 7029, 7032, 7038, 7043, 7046, 7049, 7069, 7072, 7076, + 7081, 7084, 7089, 7099, 7209, 7222, 7231, 7235, 7247, 7267, 7269, 7284, + 7389, 7419, 7423, 7424, 7426, 7428, 7431, 7436, 7444, 7475, 7549, 7584, + 7665, 7666, 7831, 7836, 7853, 7865, 7885, 7888, 7912, 7950, 7972, 7980, + 7995, 8007, 8015, 8055, 8078 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: iasi_metop-b + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + error parameter vector: *id016 + use_flag: None + use_flag_clddet: &id017 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + error parameter vector: *id016 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: iasi_metop-b + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + error parameter vector: *id016 + obserr_bound_max: + - 3.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 4.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 4.0 + - 4.0 + - 3.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.75 + - 2.0 + - 0.75 + - 2.0 + - 2.0 + - 2.0 + - 0.75 + - 0.75 + - 0.75 + - 0.75 + - 2.0 + - 0.75 + - 0.75 + - 2.0 + - 0.75 + - 0.75 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 2.0 + - 2.5 + - 2.5 + - 3.0 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 3.5 + - 2.5 + - 2.5 + - 3.0 + - 3.5 + - 3.0 + - 4.0 + - 4.0 + - 0.75 + - 4.0 + - 4.0 + - 4.0 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.0 + - 4.5 + - 4.0 + - 4.0 + - 4.5 + - 2.5 + - 3.0 + - 2.5 + - 3.0 + - 2.5 + - 3.0 + - 2.0 + - 2.5 + - 2.5 + - 3.0 + - 3.0 + - 2.5 + - 3.0 + - 3.0 + - 3.0 + - 2.5 + - 2.5 + - 4.0 + - 4.5 + - 4.5 + - 5.0 + - 4.0 + - 4.0 + - 5.0 + - 5.0 + - 5.0 + - 5.0 + - 5.5 + - 5.5 + - 4.0 + - 5.0 + - 4.0 + - 4.5 + - 5.5 + - 5.5 + - 6.0 + - 4.5 + - 4.5 + - 4.0 + - 5.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.25 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.25 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.4 + - 6.0 + - 1.4 + - 6.0 + - 6.0 + - 1.4 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.5 + - 4.5 + - 6.0 + - 5.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 4.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 4.5 + - 6.0 + - 6.0 + - 4.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id017 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: iasi_metop-b + - obs space: + name: IASI METOP-C + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/iasi_metop-c.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.iasi_metop-c.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: iasi_metop-c + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/iasi_metop-c.20231009T150000Z.satbias.nc4 + output file: cycle_dir/iasi_metop-c.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/iasi_metop-c.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/iasi_metop-c.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/iasi_metop-c.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/iasi_metop-c.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/iasi_metop_141_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id018 + - 0.727 + - 0.81 + - 0.75 + - 0.79 + - 0.7055 + - 0.74 + - 0.68 + - 0.72 + - 0.6526 + - 0.65 + - 0.665 + - 0.69 + - 0.6394 + - 0.64 + - 0.6528 + - 0.6065 + - 0.6246 + - 0.61 + - 0.6423 + - 0.5995 + - 0.59 + - 0.6069 + - 0.6 + - 0.5965 + - 0.64 + - 0.62 + - 0.589 + - 0.5865 + - 0.65 + - 0.5861 + - 0.61 + - 0.5874 + - 0.68 + - 0.606 + - 0.68 + - 4.38 + - 3.05 + - 2.31 + - 1.56 + - 1.33 + - 1.58 + - 0.93 + - 0.5832 + - 0.5587 + - 0.5867 + - 0.58 + - 0.5655 + - 0.5522 + - 0.5864 + - 0.5475 + - 0.5854 + - 0.5455 + - 0.5811 + - 0.5376 + - 0.5452 + - 0.5686 + - 0.5329 + - 0.5655 + - 0.5302 + - 0.545 + - 0.5628 + - 0.59 + - 0.5262 + - 0.559 + - 0.5264 + - 0.5442 + - 0.51 + - 0.5513 + - 0.5224 + - 0.5523 + - 0.5188 + - 0.5487 + - 0.5245 + - 0.58 + - 0.5437 + - 0.5343 + - 0.5364 + - 0.64 + - 0.5338 + - 0.72 + - 0.537 + - 0.75 + - 0.51 + - 0.65 + - 0.5274 + - 0.529 + - 0.5187 + - 0.5228 + - 1.12 + - 0.5222 + - 0.5109 + - 0.67 + - 0.5133 + - 0.5179 + - 0.507 + - 0.67 + - 0.5091 + - 0.62 + - 0.5093 + - 0.69 + - 0.5048 + - 0.5024 + - 0.78 + - 0.497 + - 0.5337 + - 0.4865 + - 0.4915 + - 0.4835 + - 0.4869 + - 0.87 + - 0.4824 + - 0.4852 + - 0.84 + - 0.84 + - 0.84 + - 0.5318 + - 0.8 + - 0.4772 + - 0.98 + - 0.488 + - 0.4978 + - 0.5157 + - 0.61 + - 0.5213 + - 0.4884 + - 0.79 + - 0.62 + - 0.66 + - 0.4691 + - 0.65 + - 0.4809 + - 0.468 + - 0.62 + - 0.4679 + - 0.6913 + - 0.4705 + - 0.4785 + - 0.47 + - 0.4773 + - 0.4703 + - 0.98 + - 0.4697 + - 0.4662 + - 0.65 + - 0.467 + - 0.4883 + - 0.4684 + - 0.4684 + - 0.4947 + - 0.5393 + - 0.5024 + - 0.4715 + - 0.621 + - 0.6136 + - 0.5316 + - 1.78 + - 0.5099 + - 1.14 + - 0.539 + - 1.79 + - 0.508 + - 0.5723 + - 1.94 + - 2.01 + - 0.49 + - 0.5647 + - 0.5022 + - 1.47 + - 0.5815 + - 0.6782 + - 2.13 + - 0.5445 + - 1.52 + - 0.5555 + - 1.96 + - 2.31 + - 2.33 + - 2.32 + - 2.31 + - 0.6994 + - 0.7006 + - 0.706 + - 0.9785 + - 0.7023 + - 0.6991 + - 0.6946 + - 2.28 + - 2.26 + - 2.26 + - 2.26 + - 0.6608 + - 0.6835 + - 0.6822 + - 2.24 + - 2.26 + - 0.6735 + - 2.28 + - 0.667 + - 0.7732 + - 0.6642 + - 0.648 + - 0.6629 + - 2.29 + - 2.29 + - 0.6799 + - 0.623 + - 2.32 + - 0.603 + - 0.6224 + - 2.32 + - 0.6187 + - 2.31 + - 2.31 + - 2.28 + - 2.29 + - 2.28 + - 2.26 + - 1.966 + - 2.27 + - 2.26 + - 2.25 + - 2.27 + - 2.24 + - 2.21 + - 2.24 + - 2.17 + - 2.18 + - 2.17 + - 2.21 + - 1.4 + - 2.16 + - 2.2 + - 2.13 + - 2.12 + - 2.13 + - 2.1 + - 2.12 + - 2.11 + - 2.09 + - 2.09 + - 2.08 + - 2.09 + - 2.04 + - 2.04 + - 1.966 + - 2.01 + - 2.05 + - 2.03 + - 2.06 + - 1.98 + - 1.95 + - 1.94 + - 1.91 + - 1.857 + - 1.76 + - 1.748 + - 1.83 + - 2.04 + - 1.748 + - 1.99 + - 2.075 + - 2.07 + - 2.02 + - 2.04 + - 2.1 + - 1.966 + - 2.18 + - 2.21 + - 2.24 + - 2.23 + - 2.23 + - 1.98 + - 2.2 + - 2.18 + - 2.18 + - 2.21 + - 2.23 + - 2.24 + - 2.24 + - 2.25 + - 1.8 + - 2.24 + - 1.73 + - 1.73 + - 2.27 + - 1.67 + - 2.21 + - 1.72 + - 2.23 + - 2.23 + - 2.23 + - 2.24 + - 2.23 + - 2.12 + - 2.17 + - 1.74 + - 2.02 + - 1.88 + - 1.67 + - 1.73 + - 1.83 + - 1.82 + - 1.73 + - 1.83 + - 2.19 + - 1.84 + - 1.89 + - 1.6 + - 1.71 + - 1.86 + - 1.85 + - 1.84 + - 1.87 + - 1.91 + - 1.52 + - 1.95 + - 1.87 + - 1.89 + - 1.91 + - 1.91 + - 1.93 + - 1.9 + - 1.91 + - 1.9 + - 1.89 + - 1.89 + - 1.91 + - 1.9 + - 1.91 + - 1.91 + - 1.91 + - 1.93 + - 1.94 + - 1.91 + - 1.92 + - 1.77 + - 1.91 + - 1.95 + - 1.19 + - 1.96 + - 1.98 + - 1.94 + - 1.55 + - 1.91 + - 1.92 + - 1.92 + - 1.97 + - 1.93 + - 1.99 + - 1.86 + - 1.12 + - 1.93 + - 1.92 + - 1.95 + - 1.85 + - 1.84 + - 1.91 + - 1.12 + - 1.82 + - 1.82 + - 1.95 + - 1.24 + - 1.94 + - 1.96 + - 1.21 + - 1.83 + - 1.96 + - 1.36 + - 1.96 + - 1.82 + - 1.92 + - 1.68 + - 1.93 + - 1.23 + - 1.96 + - 1.93 + - 1.86 + - 1.41 + - 1.16 + - 1.6 + - 1.25 + - 1.2 + - 1.65 + - 1.66 + - 1.87 + - 1.94 + - 1.96 + - 1.91 + - 1.25 + - 1.93 + - 1.91 + - 1.7 + - 0.99 + - 1.81 + - 1.92 + - 1.95 + - 1.5 + - 1.47 + - 1.15 + - 1.58 + - 1.18 + - 1.82 + - 1.13 + - 1.83 + - 1.91 + - 1.26 + - 1.27 + - 1.91 + - 1.45 + - 1.6 + - 1.29 + - 1.94 + - 1.94 + - 1.23 + - 1.95 + - 1.21 + - 1.94 + - 1.86 + - 1.9 + - 1.33 + - 1.75 + - 2.02 + - 1.98 + - 2.03 + - 1.83 + - 1.5 + - 2.04 + - 2.02 + - 1.9 + - 2.0 + - 2.02 + - 1.95 + - 1.93 + - 1.95 + - 1.95 + - 1.99 + - 2.0 + - 1.94 + - 1.96 + - 1.86 + - 1.92 + - 1.88 + - 1.86 + - 1.84 + - 1.87 + - 1.77 + - 1.89 + - 1.89 + - 1.88 + - 1.94 + - 1.82 + - 1.79 + - 1.86 + - 2.06 + - 2.33 + - 1.88 + - 1.86 + - 1.81 + - 1.8 + - 1.8 + - 1.86 + - 1.9 + - 2.0 + - 2.06 + - 2.1 + - 2.2 + - 2.0 + - 2.16 + - 1.98 + - 1.8 + - 1.8 + - 1.85 + - 1.75 + - 2.04 + - 2.19 + - 2.14 + - 2.19 + - 1.86 + - 2.1 + - 2.11 + - 2.18 + - 2.03 + - 2.28 + - 2.19 + - 2.26 + - 2.26 + - 2.21 + - 2.21 + - 2.26 + - 2.33 + - 2.27 + - 2.21 + - 2.12 + - 2.23 + - 2.26 + - 2.25 + - 1.88 + - 2.26 + - 2.24 + - 2.36 + - 2.29 + - 2.35 + - 2.3 + - 2.27 + - 2.08 + - 2.05 + - 2.27 + - 2.28 + - 2.27 + - 2.28 + - 1.97 + - 2.25 + - 2.25 + - 2.25 + - 2.31 + - 2.28 + - 2.27 + - 2.13 + - 2.24 + - 2.28 + - 2.28 + - 2.41 + - 2.34 + - 9.32 + - 2.28 + - 2.38 + - 2.27 + - 2.27 + - 2.39 + - 2.11 + - 2.09 + - 2.1 + - 2.06 + - 2.12 + - 2.08 + - 2.0 + - 1.93 + - 2.02 + - 2.55 + - 1.54 + - 1.64 + - 1.51 + - 1.55 + - 2.82 + - 2.92 + - 2.55 + - 2.37 + - 1.85 + - 1.6 + - 1.72 + - 1.74 + - 1.79 + - 1.9 + - 1.94 + - 2.0 + - 2.04 + - 2.08 + - 2.12 + - 2.13 + - 2.16 + - 2.18 + - 2.18 + - 2.2 + - 2.2 + - 2.41 + - 2.39 + - 2.38 + - 2.4 + - 2.42 + - 2.41 + - 2.43 + - 2.45 + - 2.43 + - 2.45 + - 2.43 + - 2.4 + - 2.44 + - 2.4 + - 2.42 + - 2.43 + - 2.45 + - 2.45 + - 2.45 + - 2.46 + - 2.45 + - 2.45 + - 2.43 + - 2.51 + - 2.48 + - 2.48 + - 2.53 + - 2.46 + - 2.49 + - 2.5 + - 2.5 + - 2.5 + - 2.52 + - 2.52 + - 2.54 + - 2.5 + - 2.48 + - 2.5 + - 2.55 + - 2.5 + - 2.48 + - 2.5 + - 2.5 + - 2.52 + - 2.52 + - 2.48 + - 2.5 + - 2.5 + - 2.52 + - 2.46 + - 2.53 + - 9.0 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 7024, 7027, 7029, 7032, 7038, 7043, 7046, 7049, 7069, 7072, 7076, + 7081, 7084, 7089, 7099, 7209, 7222, 7231, 7235, 7247, 7267, 7269, 7284, + 7389, 7419, 7423, 7424, 7426, 7428, 7431, 7436, 7444, 7475, 7549, 7584, + 7665, 7666, 7831, 7836, 7853, 7865, 7885, 7888, 7912, 7950, 7972, 7980, + 7995, 8007, 8015, 8055, 8078 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: iasi_metop-c + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + error parameter vector: *id018 + use_flag: None + use_flag_clddet: &id019 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + error parameter vector: *id018 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: iasi_metop-c + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + error parameter vector: *id018 + obserr_bound_max: + - 3.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 4.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 4.0 + - 4.0 + - 3.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.75 + - 2.0 + - 0.75 + - 2.0 + - 2.0 + - 2.0 + - 0.75 + - 0.75 + - 0.75 + - 0.75 + - 2.0 + - 0.75 + - 0.75 + - 2.0 + - 0.75 + - 0.75 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 2.0 + - 2.5 + - 2.5 + - 3.0 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 3.5 + - 2.5 + - 2.5 + - 3.0 + - 3.5 + - 3.0 + - 4.0 + - 4.0 + - 0.75 + - 4.0 + - 4.0 + - 4.0 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.0 + - 4.5 + - 4.0 + - 4.0 + - 4.5 + - 2.5 + - 3.0 + - 2.5 + - 3.0 + - 2.5 + - 3.0 + - 2.0 + - 2.5 + - 2.5 + - 3.0 + - 3.0 + - 2.5 + - 3.0 + - 3.0 + - 3.0 + - 2.5 + - 2.5 + - 4.0 + - 4.5 + - 4.5 + - 5.0 + - 4.0 + - 4.0 + - 5.0 + - 5.0 + - 5.0 + - 5.0 + - 5.5 + - 5.5 + - 4.0 + - 5.0 + - 4.0 + - 4.5 + - 5.5 + - 5.5 + - 6.0 + - 4.5 + - 4.5 + - 4.0 + - 5.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.25 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.25 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.4 + - 6.0 + - 1.4 + - 6.0 + - 6.0 + - 1.4 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.5 + - 4.5 + - 6.0 + - 5.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 4.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 4.5 + - 6.0 + - 6.0 + - 4.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id019 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: iasi_metop-c + - obs space: + name: MHS METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mhs_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mhs_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: mhs_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/mhs_metop-b.20231009T150000Z.satbias.nc4 + output file: cycle_dir/mhs_metop-b.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/mhs_metop-b.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/mhs_metop-b.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/mhs_metop-b.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/mhs_metop-b.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 550.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: mhs_metop-b + use_flag: None + minvalue: 1e-12 + action: + name: reject + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 10 + maxvalue: 81 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1-3 + where: + - variable: + name: MetaData/latitude + minvalue: -25.0 + maxvalue: -10.0 + - variable: + name: MetaData/longitude + minvalue: 260.0 + maxvalue: 300.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/surface_snow_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/ice_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + maxvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: mhs_metop-b + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-b + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-b + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-b + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-b + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + observation_name: mhs_metop-b + - obs space: + name: MHS METOP-C + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mhs_metop-c.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mhs_metop-c.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: mhs_metop-c + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/mhs_metop-c.20231009T150000Z.satbias.nc4 + output file: cycle_dir/mhs_metop-c.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/mhs_metop-c.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/mhs_metop-c.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/mhs_metop-c.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/mhs_metop-c.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 550.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: mhs_metop-c + use_flag: None + minvalue: 1e-12 + action: + name: reject + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 10 + maxvalue: 81 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1-3 + where: + - variable: + name: MetaData/latitude + minvalue: -25.0 + maxvalue: -10.0 + - variable: + name: MetaData/longitude + minvalue: 260.0 + maxvalue: 300.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/surface_snow_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/ice_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + maxvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: mhs_metop-c + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-c + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-c + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-c + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-c + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + observation_name: mhs_metop-c + - obs space: + name: MHS NOAA-19 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mhs_n19.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mhs_n19.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: mhs_n19 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/mhs_n19.20231009T150000Z.satbias.nc4 + output file: cycle_dir/mhs_n19.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/mhs_n19.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/mhs_n19.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/mhs_n19.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/mhs_n19.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 550.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: mhs_n19 + use_flag: None + minvalue: 1e-12 + action: + name: reject + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 10 + maxvalue: 81 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1-3 + where: + - variable: + name: MetaData/latitude + minvalue: -25.0 + maxvalue: -10.0 + - variable: + name: MetaData/longitude + minvalue: 260.0 + maxvalue: 300.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/surface_snow_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/ice_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + maxvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: mhs_n19 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_n19 + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_n19 + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_n19 + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_n19 + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + observation_name: mhs_n19 + - obs space: + name: MLS55 AURA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mls55_aura.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mls55_aura.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - ozoneProfile + obs operator: + name: VertInterp + vertical coordinate: air_pressure + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + obs filters: + - filter: Bounds Check + filter variables: + - name: ozoneProfile + minvalue: 0 + maxvalue: 10000 + action: + name: reject + - filter: Background Check + filter variables: + - name: ozoneProfile + threshold: 5.0 + action: + name: reject + observation_name: mls55_aura + - obs space: + name: OMI AURA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/omi_aura.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.omi_aura.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - ozoneTotal + obs operator: + name: AtmVertInterpLay + geovals: + - mole_fraction_of_ozone_in_air + coefficients: + - 0.0078976797 + nlevels: + - 1 + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + obs filters: + - filter: Perform Action + filter variables: + - name: ozoneTotal + action: + name: assign error + error parameter: 5.0 + - filter: Bounds Check + filter variables: + - name: ozoneTotal + minvalue: 0 + maxvalue: 1000 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: ozoneTotal + test variables: + - name: MetaData/solarZenithAngle + maxvalue: 84.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: ozoneTotal + test variables: + - name: MetaData/sensorScanPosition + minvalue: 3 + maxvalue: 24 + action: + name: reject + - filter: Background Check + filter variables: + - name: ozoneTotal + threshold: 5.0 + action: + name: reject + observation_name: omi_aura + - obs space: + name: OMPSNM NPP + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/ompsnm_npp.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.ompsnm_npp.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - ozoneTotal + obs operator: + name: AtmVertInterpLay + geovals: + - mole_fraction_of_ozone_in_air + coefficients: + - 0.0078976797 + nlevels: + - 1 + obs filters: + - filter: Perform Action + filter variables: + - name: ozoneTotal + action: + name: assign error + error parameter: 5.216 + - filter: Bounds Check + filter variables: + - name: ozoneTotal + minvalue: 0 + maxvalue: 1000 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: ozoneTotal + test variables: + - name: MetaData/solarZenithAngle + maxvalue: 84.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: ozoneTotal + threshold: 5.0 + action: + name: reject + observation_name: ompsnm_npp + - obs space: + name: Pilot Balloon + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/pibal.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.pibal.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + vertical coordinate backup: air_pressure + observation vertical coordinate group backup: MetaData + observation vertical coordinate backup: pressure + interpolation method backup: log-linear + hofx scaling field: SurfaceWindScalingCombined + hofx scaling field group: DerivedVariables + linear obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + vertical coordinate backup: air_pressure + observation vertical coordinate group backup: MetaData + observation vertical coordinate backup: pressure + interpolation method backup: log-linear + hofx scaling field: SurfaceWindScalingCombined + hofx scaling field group: DerivedVariables + obs pre filters: + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_not_in: 221 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_not_in: 221 + action: + name: reject + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingCombined + SkipWhenNoObs: false + obs post filters: + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -135 + maxvalue: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.6 + - 1.7 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.2 + - 2.2 + - 2.3 + - 2.3 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.5 + - 2.7 + - 2.9 + - 3.1 + - 3.3 + - 3.5 + - 3.7 + - 3.9 + - 4.1 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: assign error + error function: GsiAdjustObsError/windEastward + where: + - variable: + name: GsiAdjustObsError/windEastward + value: is_valid + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: assign error + error function: GsiAdjustObsError/windNorthward + where: + - variable: + name: GsiAdjustObsError/windNorthward + value: is_valid + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 221 + cgross: + - 8.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windEastward + action: + name: reject + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 221 + cgross: + - 8.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windNorthward + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + test variables: + - name: ObsErrorData/windEastward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windEastward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windEastward + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windNorthward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windNorthward + defer to post: true + - filter: Bounds Check + filter variables: + - name: windNorthward + test variables: + - name: ObsErrorData/windNorthward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 221 + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 221 + defer to post: true + observation_name: pibal + - obs space: + name: Satellite Winds + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/satwind.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.satwind.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + obs operator: + name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + linear obs operator: + name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + obs prior filters: + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + obs post filters: + - filter: PreQC + maxvalue: 3 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 80000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - filter: BlackList + where: + - variable: + name: ObsType/windEastward + is_in: 240, 241, 248, 249, 251, 255, 256, 260 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.45 + - 5 + - 5 + - 5 + - 5.075 + - 5.175 + - 5.3 + - 5.675 + - 6.05 + - 6.25 + - 6.625 + - 7 + - 7 + - 7 + - 7 + where: + - variable: + name: ObsType/windEastward + is_in: 244 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.9 + - 3.9 + - 4.0 + - 4.0 + - 4.1 + - 5 + - 6 + - 6.3 + - 6.6 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + where: + - variable: + name: ObsType/windEastward + is_in: 245, 246 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.9 + - 3.9 + - 4.0 + - 4.0 + - 4.1 + - 5 + - 6 + - 6.3 + - 6.6 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + where: + - variable: + name: ObsType/windEastward + is_in: 242, 243, 247, 252, 253 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.9 + - 3.9 + - 4.0 + - 4.5 + - 6.1 + - 6.0 + - 6.5 + - 7.3 + - 7.6 + - 7 + - 7.5 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + where: + - variable: + name: ObsType/windEastward + is_in: 254 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.9 + - 3.9 + - 4.0 + - 4.0 + - 4.1 + - 5.0 + - 7 + - 7.3 + - 7.6 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + where: + - variable: + name: ObsType/windEastward + is_in: 250 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.675 + - 5.45 + - 5.525 + - 5.8 + - 6.275 + - 6.575 + - 6.825 + - 7.05 + - 7.05 + - 7.05 + - 7.05 + where: + - variable: + name: ObsType/windEastward + is_in: 257 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 6.05 + - 5.625 + - 5.275 + - 5.375 + - 5.925 + - 6.475 + - 6.775 + - 7.05 + - 7.05 + - 7.05 + - 7.05 + where: + - variable: + name: ObsType/windEastward + is_in: 258 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6 + - 5.5 + - 5.5 + - 5.575 + - 6.025 + - 6.4 + - 6.775 + - 7.15 + - 7.15 + - 7.15 + - 7.15 + where: + - variable: + name: ObsType/windEastward + is_in: 259 + - filter: Difference Check + filter variables: + - name: windEastward + - name: windNorthward + reference: GeoVaLs/air_pressure_at_surface + value: MetaData/pressure + maxvalue: -11000 + where: + - variable: + name: ObsType/windEastward + is_in: 247 + - variable: + name: MetaData/surfaceQualifier + minvalue: 1 + - filter: Difference Check + filter variables: + - name: windEastward + - name: windNorthward + reference: GeoVaLs/air_pressure_at_surface + value: MetaData/pressure + maxvalue: -20000 + where: + - variable: + name: ObsType/windEastward + is_in: 244, 257, 258, 259, 260 + - variable: + name: MetaData/surfaceQualifier + minvalue: 1 + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/WindDirAngleDiff + maxvalue: 50.0 + where: + - variable: + name: ObsType/windEastward + is_in: 247 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/SatWindsLNVDCheck + maxvalue: 3 + where: + - variable: + name: ObsType/windEastward + is_in: 244, 247, 257-260 + action: + name: reject + - filter: BlackList + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 240-260 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: BlackList + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 240-260 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + error_min: + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 15.0 + - 15.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.1 + - 20.1 + - 20.1 + - 20.1 + - 20.1 + cgross: + - 2.5 + - 2.5 + - 2.5 + - 1.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 1.3 + - 2.5 + - 1.5 + - 1.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + wndtype: + - 240 + - 241 + - 242 + - 243 + - 244 + - 245 + - 246 + - 247 + - 248 + - 249 + - 250 + - 251 + - 252 + - 253 + - 254 + - 256 + - 257 + - 258 + - 259 + - 260 + variable: windEastward + action: + name: reject + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + cgross: + - 2.5 + - 2.5 + - 2.5 + - 1.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 1.3 + - 2.5 + - 1.5 + - 1.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + error_min: + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 15.0 + - 15.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.1 + - 20.1 + - 20.1 + - 20.1 + - 20.1 + wndtype: + - 240 + - 241 + - 242 + - 243 + - 244 + - 245 + - 246 + - 247 + - 248 + - 249 + - 250 + - 251 + - 252 + - 253 + - 254 + - 256 + - 257 + - 258 + - 259 + - 260 + variable: windNorthward + action: + name: reject + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 240-260 + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 240-260 + defer to post: true + observation_name: satwind + - obs space: + name: Scatterometer Winds + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/scatwind.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.scatwind.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + obs operator: + name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + linear obs operator: + name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + obs post filters: + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -135 + maxvalue: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + errors: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: BlackList + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 290 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: BlackList + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 290 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/ScatWindsAmbiguityCheck + maxvalue: 1e-12 + where: + - variable: + name: ObsType/windEastward + is_in: 290 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/Arithmetic + options: + variables: + - name: ObsValue/windEastward + - name: HofX/windEastward + coefs: + - 1.0 + - -1.0 + minvalue: -5.0 + maxvalue: 5.0 + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/Arithmetic + options: + variables: + - name: ObsValue/windNorthward + - name: HofX/windNorthward + coefs: + - 1.0 + - -1.0 + minvalue: -5.0 + maxvalue: 5.0 + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 290 + cgross: + - 5.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windEastward + action: + name: reject + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 290 + cgross: + - 5.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windNorthward + action: + name: reject + defer to post: true + observation_name: scatwind + - obs space: + name: Surface Marine Stations + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sfcship.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sfcship.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + - virtualTemperature + - airTemperature + - specificHumidity + - stationPressure + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: SfcCorrected + variables: + - name: stationPressure + correction scheme to use: GSL + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - name: Identity + variables: + - name: specificHumidity + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: Identity + variables: + - name: stationPressure + - name: specificHumidity + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + obs post filters: + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: PreUseFlag/stationPressure + minvalue: 1 + action: + name: reject + - filter: RejectList + where: + - variable: + name: PreQC/stationPressure + is_in: 4-15 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + errors: + - 100 + - 100 + - 110 + - 120 + - 120 + - 100000000000.0 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + action: + name: inflate error + inflation factor: 0.7 + where: + - variable: ObsType/stationPressure + is_in: + - 180 + - variable: ObsSubType/stationPressure + is_in: + - 0 + - filter: Perform Action + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + options: + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/stationPressure + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 100 + where: + - variable: + name: TempObsErrorData/stationPressure + maxvalue: 100 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 300 + where: + - variable: + name: TempObsErrorData/stationPressure + minvalue: 300 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 4.0 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + - variable: ObsType/stationPressure + is_in: 180,183 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.8 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - variable: ObsType/stationPressure + is_in: 180,183 + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: TempObsErrorData/stationPressure + where: + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: false + variable: stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: + - 183 + action: + name: reject + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + errors: + - 1.75 + - 1.95 + - 2.25 + - 1.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - airTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/airTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: GsiAdjustObsError/airTemperature + where: + - variable: + name: GsiAdjustObsError/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/airTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/airTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/airTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreUseFlag/airTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 7.0 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 4.9 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: TempObsErrorData/airTemperature + where: + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: airTemperature + defer to post: true + - filter: Bounds Check + filter variables: + - name: airTemperature + test variables: + - name: ObsErrorData/airTemperature + maxvalue: 100000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: + - 183 + action: + name: reject + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + errors: + - 1.75 + - 1.95 + - 2.25 + - 1.0 + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - virtualTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: GsiAdjustObsError/virtualTemperature + where: + - variable: + name: GsiAdjustObsError/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: virtualTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/virtualTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/virtualTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/virtualTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/virtualTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: PreUseFlag/virtualTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 7.0 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 4.9 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: TempObsErrorData/virtualTemperature + where: + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: virtualTemperature + defer to post: true + - filter: Bounds Check + filter variables: + - name: virtualTemperature + test variables: + - name: ObsErrorData/virtualTemperature + maxvalue: 100000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: PreUseFlag/specificHumidity + minvalue: 1 + action: + name: reject + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: + - 183 + action: + name: reject + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorSatSpecHumidity + options: + variable: specificHumidity + input_error_name: GsiInputObsError + - filter: BlackList + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: specificHumidity + inflation factor: 8 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: specificHumidity + threshold: 8.0 + action: + name: reject + where: + - variable: PreQC/specificHumidity + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: specificHumidity + threshold: 5.6 + action: + name: reject + where: + - variable: PreQC/specificHumidity + is_in: + - 3 + defer to post: true + - filter: BlackList + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: specificHumidity + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: + - 284 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: + - 284 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: ObsType/windEastward + is_in: + - 280 + action: + name: assign error + error parameter: 2.5 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: ObsType/windEastward + is_in: + - 282 + action: + name: assign error + error parameter: 2.2 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + minvalue: 1 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + minvalue: 1 + action: + name: reject + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + threshold: 6.0 + action: + name: reject + where: + - variable: PreQC/windEastward + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windEastward + threshold: 4.2 + action: + name: reject + where: + - variable: PreQC/windEastward + is_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + threshold: 6.0 + action: + name: reject + where: + - variable: PreQC/windNorthward + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + threshold: 4.2 + action: + name: reject + where: + - variable: PreQC/windNorthward + is_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + satwndtype: + - 280 + - 282 + - 284 + error_min: + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + cgross: + - 6.0 + - 6.0 + - 6.0 + wndtype: + - 280 + - 282 + - 284 + variable: windEastward + action: + name: reject + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + satwndtype: + - 280 + - 282 + - 284 + error_min: + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + cgross: + - 6.0 + - 6.0 + - 6.0 + wndtype: + - 280 + - 282 + - 284 + variable: windNorthward + action: + name: reject + defer to post: true + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + defer to post: true + observation_name: sfcship + - obs space: + name: Surface Land Stations + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sfc.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sfc.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + - virtualTemperature + - airTemperature + - specificHumidity + - stationPressure + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: SfcCorrected + variables: + - name: stationPressure + correction scheme to use: GSL + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: specificHumidity + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: stationPressure + - name: specificHumidity + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + obs post filters: + - filter: Bounds Check + filter variables: + - name: stationPressure + minvalue: 49999 + action: + name: reject + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: PreUseFlag/stationPressure + minvalue: 1 + action: + name: reject + - filter: RejectList + where: + - variable: + name: PreQC/stationPressure + is_in: 4-15 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 181 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 70000 + - 65000 + - 60000 + - 55000 + errors: + - 100 + - 120 + - 120 + - 100000000000.0 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 187 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + errors: + - 100 + - 130 + - 160 + - 100000000000.0 + - filter: Perform Action + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + options: + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/stationPressure + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 100 + where: + - variable: + name: TempObsErrorData/stationPressure + maxvalue: 100 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 300 + where: + - variable: + name: TempObsErrorData/stationPressure + minvalue: 300 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 4.0 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + - variable: ObsType/stationPressure + is_in: 187 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.8 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - variable: ObsType/stationPressure + is_in: 187 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 3.6 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + - variable: ObsType/stationPressure + is_in: + - 181 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.52 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - variable: ObsType/stationPressure + is_in: + - 181 + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: TempObsErrorData/stationPressure + where: + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: false + variable: stationPressure + defer to post: true + - filter: Bounds Check + filter variables: + - name: stationPressure + test variables: + - name: ObsErrorData/stationPressure + maxvalue: 100000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 181,187 + action: + name: reject + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 181,187 + action: + name: reject + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: 181,187 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 281,287 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 281,287 + action: + name: reject + observation_name: sfc + - obs space: + name: Radiosondes + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sondes.20231009T210000Z.nc4 + missing file action: error + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sondes.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + - virtualTemperature + - airTemperature + - specificHumidity + - stationPressure + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + - name: VertInterp + variables: + - name: airTemperature + - name: virtualTemperature + - name: specificHumidity + - name: SfcCorrected + variables: + - name: stationPressure + correction scheme to use: GSL + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + - name: VertInterp + variables: + - name: airTemperature + - name: virtualTemperature + - name: specificHumidity + - name: Identity + variables: + - name: stationPressure + obs prior filters: + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + obs post filters: + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: PreUseFlag/stationPressure + minvalue: 1 + action: + name: reject + - filter: RejectList + where: + - variable: + name: PreQC/stationPressure + is_in: 4-15 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 60000 + - 55000 + errors: + - 100 + - 100000000000.0 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + options: + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/stationPressure + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 100 + where: + - variable: + name: TempObsErrorData/stationPressure + maxvalue: 100 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 300 + where: + - variable: + name: TempObsErrorData/stationPressure + minvalue: 300 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 4.0 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.8 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: TempObsErrorData/stationPressure + where: + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: false + variable: stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: PreUseFlag/specificHumidity + minvalue: 1 + action: + name: reject + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + action: + name: assign error + error function: + name: ObsFunction/ObsErrorSatSpecHumidity + options: + variable: specificHumidity + input_error_name: GsiInputObsError + - filter: BlackList + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: specificHumidity + inflation factor: 8.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/specificHumidity + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/specificHumidity + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: specificHumidity + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 70000 + - 65000 + - 60000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + errors: + - 1.3 + - 1.1 + - 0.9 + - 0.7 + - 0.6 + - 0.6 + - 0.55 + - 0.5 + - 0.5 + - 0.55 + - 0.65 + - 1.1 + - 1.2 + - 1.2 + - 1.4 + - 1.6 + - 1.85 + - 2.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - airTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/airTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: GsiAdjustObsError/airTemperature + where: + - variable: + name: GsiAdjustObsError/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/airTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/airTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/airTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreUseFlag/airTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 8.0 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 5.6 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: TempObsErrorData/airTemperature + where: + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 70000 + - 65000 + - 60000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + errors: + - 1.3 + - 1.1 + - 0.9 + - 0.7 + - 0.6 + - 0.6 + - 0.55 + - 0.5 + - 0.5 + - 0.55 + - 0.65 + - 1.1 + - 1.2 + - 1.2 + - 1.4 + - 1.6 + - 1.85 + - 2.0 + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - virtualTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: GsiAdjustObsError/virtualTemperature + where: + - variable: + name: GsiAdjustObsError/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: virtualTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/virtualTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/virtualTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/virtualTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/virtualTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: PreUseFlag/virtualTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 8.0 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 5.6 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: TempObsErrorData/virtualTemperature + where: + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: virtualTemperature + defer to post: true + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -135 + maxvalue: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.6 + - 1.7 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.2 + - 2.2 + - 2.3 + - 2.3 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.5 + - 2.7 + - 2.9 + - 3.1 + - 3.3 + - 3.5 + - 3.7 + - 3.9 + - 4.1 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: assign error + error function: GsiAdjustObsError/windEastward + where: + - variable: + name: GsiAdjustObsError/windEastward + value: is_valid + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: assign error + error function: GsiAdjustObsError/windNorthward + where: + - variable: + name: GsiAdjustObsError/windNorthward + value: is_valid + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 220,221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 220,221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 220 + - 221 + cgross: + - 8.0 + - 8.0 + error_min: + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + variable: windEastward + action: + name: reject + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 220 + - 221 + cgross: + - 8.0 + - 8.0 + error_min: + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + variable: windNorthward + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + test variables: + - name: ObsErrorData/windEastward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windEastward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windEastward + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windNorthward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windNorthward + defer to post: true + - filter: Bounds Check + filter variables: + - name: windNorthward + test variables: + - name: ObsErrorData/windNorthward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 220 + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 220 + defer to post: true + observation_name: sondes + - obs space: + name: ssmis_f17 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/ssmis_f17.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.ssmis_f17.20231009T210000Z.nc4 + simulated variables: + - brightnessTemperature + channels: None + io pool: + max pool size: 6 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs options: + Sensor_ID: ssmis_f17 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + obs bias: + input file: cycle_dir/ssmis_f17.20231009T150000Z.satbias.nc4 + output file: cycle_dir/ssmis_f17.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/ssmis_f17.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/ssmis_f17.20231009T150000Z.tlapse.txt + - name: cosineOfLatitudeTimesOrbitNode + - name: sineOfLatitude + - name: emissivityJacobian + - name: sensorScanAngle + var_name: sensorScanPosition + order: 4 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 3 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 2 + - name: sensorScanAngle + var_name: sensorScanPosition + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/ssmis_f17.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/ssmis_f17.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 1.0 + - 1.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 2.4 + - 1.27 + - 1.44 + - 3.0 + - 1.34 + - 1.74 + - 3.75 + - 3.0 + - 3.0 + - 2.0 + - 6.4 + - 1.0 + - 1.0 + obs post filters: + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + absolute threshold: 3.5 + remove bias correction: true + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: reject + - filter: RejectList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/geopotential_height_at_surface + minvalue: 2000.0 + min_exclusive: true + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + - filter: RejectList + filter variables: + - name: brightnessTemperature + channels: 1-3,8-18 + where: + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + max_exclusive: true + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + - variable: + name: GeoVaLs/ice_area_fraction + maxvalue: 0.99 + max_exclusive: true + - variable: + name: GeoVaLs/surface_snow_area_fraction + maxvalue: 0.99 + max_exclusive: true + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 1-2, 12-16 + reference: ObsValue/brightnessTemperature_2 + value: HofX/brightnessTemperature_2 + minvalue: -1.5 + maxvalue: 1.5 + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + absolute threshold: 3.5 + remove bias correction: true + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + action: + name: reject + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 9 + reference: ObsValue/brightnessTemperature_9 + value: + name: ObsFunction/Arithmetic + options: + variables: + - name: HofX/brightnessTemperature_17 + - name: ObsBiasData/brightnessTemperature_17 + - name: HofX/brightnessTemperature_8 + - name: ObsBiasData/brightnessTemperature_8 + coefs: + - -0.485934 + - 0.485934 + - 0.473806 + - -0.473806 + intercept: 271.252327 + maxvalue: 2 + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 10 + reference: ObsValue/brightnessTemperature_10 + value: + name: ObsFunction/Arithmetic + options: + variables: + - name: HofX/brightnessTemperature_17 + - name: ObsBiasData/brightnessTemperature_17 + - name: HofX/brightnessTemperature_8 + - name: ObsBiasData/brightnessTemperature_8 + coefs: + - -0.413688 + - 0.413688 + - 0.361549 + - -0.361549 + intercept: 272.280341 + maxvalue: 2 + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 11 + reference: ObsValue/brightnessTemperature_11 + value: + name: ObsFunction/Arithmetic + options: + variables: + - name: HofX/brightnessTemperature_17 + - name: ObsBiasData/brightnessTemperature_17 + - name: HofX/brightnessTemperature_8 + - name: ObsBiasData/brightnessTemperature_8 + coefs: + - -0.400882 + - 0.400882 + - 0.27051 + - -0.27051 + intercept: 278.824902 + maxvalue: 2 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: ssmis_f17 + obserr_demisf: + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + obserr_dtempf: + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor1 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_1 + coefs: + - 2.25 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_1 + threshold: DerivedMetaData/errorInflationFactor1 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor2 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_2 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_2 + threshold: DerivedMetaData/errorInflationFactor2 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor3 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_3 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_3 + threshold: DerivedMetaData/errorInflationFactor3 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor4 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_4 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_4 + threshold: DerivedMetaData/errorInflationFactor4 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor5 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_5 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_5 + threshold: DerivedMetaData/errorInflationFactor5 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor6 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_6 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_6 + threshold: DerivedMetaData/errorInflationFactor6 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor7 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_7 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_7 + threshold: DerivedMetaData/errorInflationFactor7 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor8 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_8 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_8 + threshold: DerivedMetaData/errorInflationFactor8 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor9 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_9 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_9 + threshold: DerivedMetaData/errorInflationFactor9 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor10 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_10 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_10 + threshold: DerivedMetaData/errorInflationFactor10 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor11 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_11 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_11 + threshold: DerivedMetaData/errorInflationFactor11 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor12 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_12 + coefs: + - 3.6 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_12 + threshold: DerivedMetaData/errorInflationFactor12 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor13 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_13 + coefs: + - 1.905 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_13 + threshold: DerivedMetaData/errorInflationFactor13 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor14 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_14 + coefs: + - 2.16 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_14 + threshold: DerivedMetaData/errorInflationFactor14 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor15 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_15 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_15 + threshold: DerivedMetaData/errorInflationFactor15 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor16 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_16 + coefs: + - 2.01 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_16 + threshold: DerivedMetaData/errorInflationFactor16 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor17 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_17 + coefs: + - 2.61 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_17 + threshold: DerivedMetaData/errorInflationFactor17 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor18 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_18 + coefs: + - 5.625 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_18 + threshold: DerivedMetaData/errorInflationFactor18 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor19 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_19 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_19 + threshold: DerivedMetaData/errorInflationFactor19 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor20 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_20 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_20 + threshold: DerivedMetaData/errorInflationFactor20 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor21 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_21 + coefs: + - 3.0 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_21 + threshold: DerivedMetaData/errorInflationFactor21 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor22 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_22 + coefs: + - 9.6 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_22 + threshold: DerivedMetaData/errorInflationFactor22 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor23 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_23 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_23 + threshold: DerivedMetaData/errorInflationFactor23 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor24 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_24 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_24 + threshold: DerivedMetaData/errorInflationFactor24 + absolute threshold: 6.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: ssmis_f17 +variational: + minimizer: + algorithm: DRPCG + iterations: + - geometry: + fms initialization: + namelist filename: ./fv3-jedi/fv3files/fmsmpp.nml + field table filename: ./fv3-jedi/fv3files/field_table_gmao + akbk: ./fv3-jedi/fv3files/akbk72.nc4 + layout: + - 4 + - 4 + npx: 91 + npy: 91 + npz: 72 + gradient norm reduction: 0.001 + ninner: 10 + linear model: + name: Identity + increment variables: *id003 + variable change: Identity + tstep: PT1H + diagnostics: + departures: ombg + online diagnostics: + write increment: true + increment: + state component: + filetype: auxgrid + gridtype: latlon + datapath: ./ + filename: experiment_id.increment-iter1. + field io names: + eastward_wind: ua + northward_wind: va + air_temperature: t + air_pressure_levels: pe + water_vapor_mixing_ratio_wrt_moist_air: q + cloud_liquid_ice: qi + cloud_liquid_water: ql + rain_water: qr + snow_water: qs + mole_fraction_of_ozone_in_air: o3ppmv + geopotential_height_times_gravity_at_surface: phis + skin_temperature_at_surface: ts + air_pressure_at_surface: ps +final: + diagnostics: + departures: oman + prints: + frequency: PT3H +output: + filetype: cube sphere history + provider: geos + datapath: cycle_dir + filename: experiment_id.analysis.%yyyy%mm%dd_%hh%MM%ssz.nc4 + first: PT0H + frequency: PT1H + field io names: *id001 diff --git a/src/swell/test/jedi_configs/jedi_3dfgat_marine_cycle_config.yaml b/src/swell/test/jedi_configs/jedi_3dfgat_marine_cycle_config.yaml new file mode 100644 index 000000000..b6e13450e --- /dev/null +++ b/src/swell/test/jedi_configs/jedi_3dfgat_marine_cycle_config.yaml @@ -0,0 +1,959 @@ +cost function: + cost type: 3D-FGAT + jb evaluation: false + time window: + begin: '2021-07-01T09:00:00Z' + end: '2021-07-01T15:00:00Z' + bound to include: begin + geometry: + mom6_input_nml: soca/input.nml + fields metadata: soca/fields_metadata.yaml + geom_grid_file: INPUT/soca_gridspec.nc + analysis variables: &id001 + - sea_water_salinity + - sea_water_potential_temperature + - sea_surface_height_above_geoid + - sea_water_cell_thickness + - sea_ice_area_fraction + - sea_ice_thickness + - sea_ice_snow_thickness + model: + name: PseudoModel + tstep: PT3H + states: + - date: '2021-07-01T12:00:00Z' + ocn_filename: ocn.fc.2021-07-01T09:00:00Z.PT3H.nc + ice_filename: ice.fc.2021-07-01T09:00:00Z.PT3H.nc + basename: ./ + read_from_file: 1 + - date: '2021-07-01T15:00:00Z' + ocn_filename: ocn.fc.2021-07-01T09:00:00Z.PT6H.nc + ice_filename: ice.fc.2021-07-01T09:00:00Z.PT6H.nc + basename: ./ + read_from_file: 1 + background: + date: '2021-07-01T09:00:00Z' + read_from_file: 1 + basename: ./ + ocn_filename: MOM6.res.20210701T090000Z.nc + ice_filename: cice.res.20210701T090000Z.nc + state variables: + - sea_ice_area_fraction + - sea_ice_thickness + - sea_ice_snow_thickness + - sea_water_salinity + - sea_water_potential_temperature + - sea_surface_height_above_geoid + - sea_water_cell_thickness + - ocean_mixed_layer_thickness + - sea_water_depth + background error: + covariance model: SABER + saber central block: + saber block name: diffusion + active variables: + - sea_ice_area_fraction + - sea_ice_thickness + - sea_ice_snow_thickness + - sea_water_potential_temperature + - sea_water_salinity + - sea_surface_height_above_geoid + read: + groups: + - variables: + - sea_water_potential_temperature + - sea_water_salinity + horizontal: + filepath: background_error_model/new_corr_1p0 + vertical: + levels: 50 + filepath: background_error_model/vt.20210701T090000Z + - variables: + - sea_surface_height_above_geoid + - sea_ice_area_fraction + - sea_ice_thickness + - sea_ice_snow_thickness + horizontal: + filepath: background_error_model/new_corr_1p5 + date: '2021-07-01T09:00:00Z' + saber outer blocks: + - saber block name: SOCABkgErrFilt + ocean_depth_min: 100 + rescale_bkgerr: 1.0 + efold_z: 2500.0 + - saber block name: SOCAParametricOceanStdDev + temperature: + sst: + filepath: cycle_dir/soca/godas_sst_bgerr.nc + variable: sst_bgerr + unbalanced salinity: {} + unbalanced ssh: {} + linear variable change: + input variables: *id001 + output variables: *id001 + linear variable changes: + - linear variable change name: BalanceSOCA + ksshts: + nlayers: 2 + observations: + observers: + - obs space: + name: adt_cryosat2n + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_cryosat2n.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_cryosat2n.20210701T090000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_ice_area_fraction + maxvalue: 1e-05 + observation_name: adt_cryosat2n + - obs space: + name: adt_jason3 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_jason3.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_jason3.20210701T090000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_ice_area_fraction + maxvalue: 1e-05 + observation_name: adt_jason3 + - obs space: + name: adt_saral + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_saral.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_saral.20210701T090000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_ice_area_fraction + maxvalue: 1e-05 + observation_name: adt_saral + - obs space: + name: adt_sentinel3a + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_sentinel3a.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_sentinel3a.20210701T090000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_ice_area_fraction + maxvalue: 1e-05 + observation_name: adt_sentinel3a + - obs space: + name: adt_sentinel3b + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_sentinel3b.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_sentinel3b.20210701T090000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_ice_area_fraction + maxvalue: 1e-05 + observation_name: adt_sentinel3b + - obs space: + name: insitu_profile_argo + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/insitu_profile_argo.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.insitu_profile_argo.20210701T090000Z.nc4 + simulated variables: + - waterTemperature + - salinity + obs operator: + name: Composite + components: + - name: InsituTemperature + variables: + - name: waterTemperature + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + variables: + - name: salinity + vertical coordinate: sea_water_depth + observation vertical coordinate: depth + interpolation method: linear + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: ObsError/salinity + minvalue: 0.0001 + - filter: Bounds Check + where: + - variable: + name: ObsValue/salinity + minvalue: 1.0 + maxvalue: 40.0 + - filter: Background Check + threshold: 3.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 2.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: insitu_profile_argo + - obs space: + name: icec_amsr2_north + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/icec_amsr2_north.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.icec_amsr2_north.20210701T090000Z.nc4 + simulated variables: + - seaIceFraction + io pool: + max pool size: 1 + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: 0.0 + maxvalue: 1.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + maxvalue: 2.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + maxvalue: 0.0 + action: + name: inflate error + inflation factor: 2.0 + - filter: Gaussian Thinning + horizontal_mesh: 25 + use_reduced_horizontal_grid: true + select_median: true + action: + name: reduce obs space + observation_name: icec_amsr2_north + - obs space: + name: icec_amsr2_south + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/icec_amsr2_south.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.icec_amsr2_south.20210701T090000Z.nc4 + simulated variables: + - seaIceFraction + io pool: + max pool size: 1 + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: 0.0 + maxvalue: 1.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + maxvalue: 2.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + maxvalue: 0.0 + action: + name: inflate error + inflation factor: 2.0 + - filter: Gaussian Thinning + horizontal_mesh: 25 + use_reduced_horizontal_grid: true + select_median: true + action: + name: reduce obs space + observation_name: icec_amsr2_south + - obs space: + name: icec_nsidc_nh + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/icec_nsidc_nh.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.icec_nsidc_nh.20210701T090000Z.nc4 + simulated variables: + - seaIceFraction + io pool: + max pool size: 1 + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Bounds Check + minvalue: 0.0 + maxvalue: 1.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + maxvalue: 2.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + maxvalue: 0.0 + action: + name: inflate error + inflation factor: 2.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Domain Check + action: + name: passivate + where: + - variable: + name: GeoVaLs/sea_ice_area_fraction + minvalue: 1e-05 + observation_name: icec_nsidc_nh + - obs space: + name: icec_nsidc_sh + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/icec_nsidc_sh.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.icec_nsidc_sh.20210701T090000Z.nc4 + simulated variables: + - seaIceFraction + io pool: + max pool size: 1 + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Bounds Check + minvalue: 0.0 + maxvalue: 1.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + maxvalue: 2.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + maxvalue: 0.0 + action: + name: inflate error + inflation factor: 2.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Domain Check + action: + name: passivate + where: + - variable: + name: GeoVaLs/sea_ice_area_fraction + minvalue: 1e-05 + observation_name: icec_nsidc_sh + - obs space: + name: sst_ostia + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sst_ostia.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sst_ostia.20210701T090000Z.nc4 + simulated variables: + - seaSurfaceTemperature + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: -2.0 + maxvalue: 36.0 + - filter: Background Check + threshold: 5.0 + - filter: Domain Check + where: + - variable: + name: ObsError/seaSurfaceTemperature + minvalue: 0.001 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Domain Check + action: + name: passivate + where: + - variable: + name: GeoVaLs/sea_area_fraction + maxvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_ice_area_fraction + maxvalue: 1e-05 + observation_name: sst_ostia + - obs space: + name: sss_smos + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sss_smos.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sss_smos.20210701T090000Z.nc4 + simulated variables: + - seaSurfaceSalinity + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: 0.1 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 2.5 + - filter: Domain Check + action: + name: passivate + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 10.0 + - filter: Domain Check + action: + name: reject + where: + - variable: + name: ObsError/seaSurfaceSalinity + maxvalue: 0.87 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: sss_smos + - obs space: + name: sss_smapv5 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sss_smapv5.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sss_smapv5.20210701T090000Z.nc4 + simulated variables: + - seaSurfaceSalinity + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: 0.1 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 2.5 + - filter: Domain Check + action: + name: passivate + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 10.0 + - filter: Domain Check + action: + name: reject + where: + - variable: + name: ObsError/seaSurfaceSalinity + maxvalue: 0.87 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: sss_smapv5 + - obs space: + name: sst_abi_g16_l3c + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sst_abi_g16_l3c.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sst_abi_g16_l3c.20210701T090000Z.nc4 + simulated variables: + - seaSurfaceTemperature + get values: + time interpolation: linear + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: -1.0 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 5.0 + - filter: Domain Check + where: + - variable: + name: ObsError/seaSurfaceTemperature + minvalue: 1e-08 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Perform Action + action: + name: assign error + error function: + name: ObsFunction/LinearCombination + options: + variables: + - ObsError/seaSurfaceTemperature + coefs: + - 1.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_ice_area_fraction + maxvalue: 1e-05 + observation_name: sst_abi_g16_l3c + - obs space: + name: sst_gmi_l3u + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sst_gmi_l3u.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sst_gmi_l3u.20210701T090000Z.nc4 + simulated variables: + - seaSurfaceTemperature + get values: + time interpolation: linear + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: -1.0 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 5.0 + - filter: Domain Check + where: + - variable: + name: ObsError/seaSurfaceTemperature + minvalue: 1e-08 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Perform Action + action: + name: assign error + error function: + name: ObsFunction/LinearCombination + options: + variables: + - ObsError/seaSurfaceTemperature + coefs: + - 1.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_ice_area_fraction + maxvalue: 1e-05 + observation_name: sst_gmi_l3u + - obs space: + name: sst_viirs_n20_l3u + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sst_viirs_n20_l3u.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sst_viirs_n20_l3u.20210701T090000Z.nc4 + simulated variables: + - seaSurfaceTemperature + get values: + time interpolation: linear + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: -1.0 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 5.0 + - filter: Domain Check + where: + - variable: + name: ObsError/seaSurfaceTemperature + minvalue: 1e-08 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Perform Action + action: + name: assign error + error function: + name: ObsFunction/LinearCombination + options: + variables: + - ObsError/seaSurfaceTemperature + coefs: + - 1.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_ice_area_fraction + maxvalue: 1e-05 + observation_name: sst_viirs_n20_l3u + - obs space: + name: temp_profile_xbt + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/temp_profile_xbt.20210701T090000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.temp_profile_xbt.20210701T090000Z.nc4 + simulated variables: + - waterTemperature + obs operator: + name: InsituTemperature + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: ObsError/waterTemperature + minvalue: 0.001 + - filter: Bounds Check + minvalue: -2.0 + maxvalue: 36.0 + - filter: Background Check + threshold: 3.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 3.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: temp_profile_xbt +variational: + minimizer: + algorithm: RPCG + iterations: + - geometry: + mom6_input_nml: soca/input.nml + fields metadata: soca/fields_metadata.yaml + geom_grid_file: INPUT/soca_gridspec.nc + gradient norm reduction: 1e-10 + ninner: 10 + diagnostics: + departures: ombg + online diagnostics: + write increment: true + increment: + state component: + datadir: ./ + date: '2021-07-01T09:00:00Z' + exp: experiment_id + type: incr +final: + diagnostics: + departures: oman + prints: + frequency: PT3H +output: + datadir: ./ + exp: experiment_id + type: an diff --git a/src/swell/test/jedi_configs/jedi_3dvar_atmos_config.yaml b/src/swell/test/jedi_configs/jedi_3dvar_atmos_config.yaml new file mode 100644 index 000000000..47475c2d4 --- /dev/null +++ b/src/swell/test/jedi_configs/jedi_3dvar_atmos_config.yaml @@ -0,0 +1,19206 @@ +cost function: + cost type: 3D-Var + jb evaluation: false + time window: + begin: '2023-10-09T21:00:00Z' + end: '2023-10-10T03:00:00Z' + bound to include: begin + geometry: + fms initialization: + namelist filename: ./fv3-jedi/fv3files/fmsmpp.nml + field table filename: ./fv3-jedi/fv3files/field_table_gmao + akbk: ./fv3-jedi/fv3files/akbk72.nc4 + layout: + - 4 + - 4 + npx: '91' + npy: '91' + npz: '72' + analysis variables: &id002 + - eastward_wind + - northward_wind + - air_temperature + - water_vapor_mixing_ratio_wrt_moist_air + - air_pressure_at_surface + - air_pressure_levels + - cloud_liquid_ice + - cloud_liquid_water + - rain_water + - snow_water + - mole_fraction_of_ozone_in_air + - geopotential_height_times_gravity_at_surface + - fraction_of_ocean + - fraction_of_lake + - fraction_of_ice + - skin_temperature_at_surface + background: + datetime: '2023-10-10T00:00:00Z' + filetype: cube sphere history + provider: geos + compute edge pressure from surface pressure: true + max allowable geometry difference: 0.001 + datapath: cycle_dir + filenames: + - bkg.%yyyy%mm%ddT%hh%MM%ssZ.nc4 + - fv3-jedi/bkg/geos.crtmsrf.91.nc4 + state variables: + - eastward_wind + - northward_wind + - air_temperature + - air_pressure_at_surface + - air_pressure_levels + - water_vapor_mixing_ratio_wrt_moist_air + - cloud_liquid_ice + - cloud_liquid_water + - rain_water + - snow_water + - mole_fraction_of_ozone_in_air + - geopotential_height_times_gravity_at_surface + - initial_mass_fraction_of_large_scale_cloud_condensate + - initial_mass_fraction_of_convective_cloud_condensate + - convective_cloud_area_fraction + - fraction_of_ocean + - fraction_of_land + - isotropic_variance_of_filtered_topography + - surface_velocity_scale + - surface_buoyancy_scale + - planetary_boundary_layer_height + - surface_exchange_coefficient_for_momentum + - surface_exchange_coefficient_for_heat + - surface_exchange_coefficient_for_moisture + - KCBL_before_moist + - surface_temp_before_moist + - lower_index_where_Kh_greater_than_2 + - upper_index_where_Kh_greater_than_2 + - fraction_of_lake + - fraction_of_ice + - vtype + - stype + - vfrac + - sheleg + - skin_temperature_at_surface + - soilt + - soilm + - eastward_wind_at_surface + - northward_wind_at_surface + field io names: &id019 + eastward_wind: ua + northward_wind: va + air_temperature: t + air_pressure_at_surface: ps + air_pressure_levels: pe + water_vapor_mixing_ratio_wrt_moist_air: q + cloud_liquid_ice: qi + cloud_liquid_water: ql + rain_water: qr + snow_water: qs + mole_fraction_of_ozone_in_air: o3ppmv + geopotential_height_times_gravity_at_surface: phis + initial_mass_fraction_of_large_scale_cloud_condensate: qls + initial_mass_fraction_of_convective_cloud_condensate: qcn + convective_cloud_area_fraction: cfcn + fraction_of_ocean: frocean + fraction_of_land: frland + isotropic_variance_of_filtered_topography: varflt + surface_velocity_scale: ustar + surface_buoyancy_scale: bstar + planetary_boundary_layer_height: zpbl + surface_exchange_coefficient_for_momentum: cm + surface_exchange_coefficient_for_heat: ct + surface_exchange_coefficient_for_moisture: cq + KCBL_before_moist: kcbl + surface_temp_before_moist: tsm + lower_index_where_Kh_greater_than_2: khl + upper_index_where_Kh_greater_than_2: khu + fraction_of_lake: frlake + fraction_of_ice: frseaice + skin_temperature_at_surface: ts + eastward_wind_at_surface: u10m + northward_wind_at_surface: v10m + background error: + covariance model: SABER + covariance type: gsi hybrid covariance + saber central block: + saber block name: gsi hybrid covariance + read: + gsi akbk: ./fv3-jedi/fv3files/akbk72.nc4 + gsi error covariance file: ./fv3-jedi/gsibec/gsi-coeffs-gmao-global-l72x144y91.nc4 + gsi berror namelist file: ./fv3-jedi/gsibec/cli_gsibec_configuration_l72x144y91.nml + processor layout x direction: 4 + processor layout y direction: 24 + debugging mode: false + saber outer blocks: + - saber block name: interpolation + inner geometry: + function space: StructuredColumns + custom grid matching gsi: + type: latlon + lats: 91 + lons: 144 + custom partitioner matching gsi: + bands: 24 + halo: 1 + forward interpolator: + local interpolator type: oops unstructured grid interpolator + inverse interpolator: + local interpolator type: oops unstructured grid interpolator + state variables to inverse: &id001 + - eastward_wind + - northward_wind + - air_temperature + - air_pressure_at_surface + - air_pressure_levels + - water_vapor_mixing_ratio_wrt_moist_air + - cloud_liquid_ice + - cloud_liquid_water + - rain_water + - snow_water + - mole_fraction_of_ozone_in_air + - fraction_of_ocean + - fraction_of_lake + - fraction_of_ice + - geopotential_height_times_gravity_at_surface + - skin_temperature_at_surface + linear variable change: + linear variable change name: Control2Analysis + input variables: *id001 + output variables: *id002 + observations: + get values: + variable change: + variable change name: Model2GeoVaLs + hydrometeor effective radii method: gsi + tropopause pressure method: gsi + observers: + - obs space: + name: Aircraft Temperature + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/aircraft_temperature.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.aircraft_temperature.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - airTemperature + obs bias: + input file: cycle_dir/aircraft_temperature.20231009T150000Z.acftbias + output file: cycle_dir/aircraft_temperature.20231009T210000Z.acftbias + bc by record: true + variational bc: + predictors: + - name: constant + - name: obsMetadataPredictor + variable: instantaneousAltitudeRate + - name: obsMetadataPredictor + variable: instantaneousAltitudeRate + order: 2 + covariance: + minimal required obs number: 3 + variance range: + - 1e-06 + - 1.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/aircraft_temperature.20231009T150000Z.acftbias_cov + inflation: + ratio: 1.005 + ratio for small dataset: 2.0 + obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - airTemperature + linear obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - airTemperature + obs filters: + - filter: Variable Assignment + where: + - variable: + name: ObsType/airTemperature + is_in: 130 + assignments: + - name: MetaData/stationIdentification + value: 'KX130 ' + - filter: Variable Assignment + where: + - variable: + name: MetaData/instantaneousAltitudeRate + minvalue: 50.0 + assignments: + - name: MetaData/instantaneousAltitudeRate + value: 0.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 2.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + errors: + - 2.5 + - 2.3 + - 2.1 + - 1.9 + - 1.7 + where: + - variable: + name: ObsType/airTemperature + is_in: 130 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + errors: + - 1.4706 + - 1.3529 + - 1.2353 + - 1.1176 + - 1.0 + where: + - variable: + name: ObsType/airTemperature + is_in: 131,133 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 70000 + - 65000 + - 60000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 5000 + errors: + - 1.5 + - 1.3 + - 1.1 + - 0.9 + - 0.8 + - 0.8 + - 0.75 + - 0.7 + - 0.7 + - 0.75 + - 0.85 + - 1.3 + - 1.5 + - 1.5 + where: + - variable: + name: ObsType/airTemperature + is_in: 132 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 60000 + - 40000 + errors: + - 1.5 + - 1.35 + - 1.25 + - 1.1 + - 1.0 + - 1.3 + - 1.7 + where: + - variable: + name: ObsType/airTemperature + is_in: 134 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + errors: + - 1.4706 + - 1.3529 + - 1.2353 + - 1.1176 + - 1000000000.0 + where: + - variable: + name: ObsType/airTemperature + is_in: 135 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + inflate variables: + - airTemperature + pressure: MetaData/pressure + distance threshold: 60000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreQC/airTemperature + is_in: 4-15 + action: + name: passivate + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: + name: ObsType/airTemperature + is_in: 134, 135 + action: + name: passivate + defer to post: true + - filter: Perform Action + action: + name: inflate error + inflation factor: 10.0 + filter variables: + - name: airTemperature + where: + - variable: + name: MetaData/pressure + maxvalue: 110000 + minvalue: 50000 + - variable: + name: ObsType/airTemperature + is_in: 130 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: GsiAdjustObsError/airTemperature + where: + - variable: + name: GsiAdjustObsError/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 8.0 + surface_obs: false + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/airTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/airTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/airTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreUseFlag/airTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 7.0 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 4.9 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: TempObsErrorData/airTemperature + where: + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: airTemperature + defer to post: true + observation_name: aircraft_temperature + - obs space: + name: Aircraft Wind + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/aircraft_wind.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.aircraft_wind.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + obs prior filters: + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + obs post filters: + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: PreQC/windEastward + is_in: 4-15 + action: + name: passivate + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: + name: ObsType/windEastward + is_in: 234, 235 + action: + name: passivate + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 80000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 1.4 + - 1.5 + - 1.6 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.3 + - 2.6 + - 2.8 + - 3.0 + - 3.2 + - 2.7 + - 2.4 + - 2.1 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 3.6 + where: + - variable: + name: ObsType/windEastward + is_in: 230 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 3.0 + where: + - variable: + name: ObsType/windEastward + is_in: 231 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 2.5 + where: + - variable: + name: ObsType/windEastward + is_in: 233 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 3.0 + where: + - variable: + name: ObsType/windEastward + is_in: 234, 235 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + errors: + - 1.5 + - 1.6 + - 1.7 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.2 + - 2.2 + - 2.3 + - 2.3 + - 2.4 + - 2.4 + - 2.5 + - 2.7 + - 2.9 + - 3.1 + where: + - variable: + name: ObsType/windEastward + is_in: 232 + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + inflate variables: + - windEastward + pressure: MetaData/pressure + distance threshold: 60000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + inflate variables: + - windNorthward + pressure: MetaData/pressure + distance threshold: 60000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: assign error + error function: GsiAdjustObsError/windEastward + where: + - variable: + name: GsiAdjustObsError/windEastward + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: assign error + error function: GsiAdjustObsError/windNorthward + where: + - variable: + name: GsiAdjustObsError/windNorthward + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + surface_obs: false + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + surface_obs: false + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 230 + - 231 + - 232 + - 233 + - 234 + - 235 + cgross: + - 6.0 + - 6.5 + - 7.0 + - 7.5 + - 7.5 + - 7.5 + error_min: + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + variable: windEastward + action: + name: reject + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 230 + - 231 + - 232 + - 233 + - 234 + - 235 + cgross: + - 6.0 + - 6.5 + - 7.0 + - 7.5 + - 7.5 + - 7.5 + error_min: + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + variable: windNorthward + action: + name: reject + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + defer to post: true + observation_name: aircraft_wind + - obs space: + name: AIRS AQUA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/airs_aqua.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.airs_aqua.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: airs_aqua + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/airs_aqua.20231009T150000Z.satbias.nc4 + output file: cycle_dir/airs_aqua.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/airs_aqua.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/airs_aqua.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/airs_aqua.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/airs_aqua.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/airs_aqua_119_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.2 + - 1.2 + - 1.3136 + - 1.4 + - 1.4 + - 1.2639 + - 1.4 + - 1.4 + - 1.1802 + - 1.2517 + - 1.1719 + - 1.2 + - 1.1728 + - 1.1442 + - 1.2 + - 1.2 + - 1.15 + - 1.0801 + - 1.15 + - 1.15 + - 1.0396 + - 1.15 + - 1.15 + - 1.15 + - 1.15 + - 1.15 + - 1.15 + - 1.15 + - 0.9946 + - 1.05 + - 0.9217 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.9591 + - 0.9465 + - 0.9593 + - 0.9337 + - 1.0 + - 0.9861 + - 1.0017 + - 1.1 + - 1.0083 + - 1.0024 + - 1.1 + - 0.9967 + - 1.0094 + - 0.9412 + - 1.1 + - 0.998 + - 0.9807 + - 0.857 + - 0.8727 + - 0.8114 + - 0.879 + - 0.871 + - 0.8853 + - 0.7937 + - 0.8243 + - 0.8 + - 0.8016 + - 0.8 + - 0.7781 + - 0.7475 + - 0.85 + - 0.7405 + - 0.715 + - 0.7416 + - 0.7465 + - 0.9 + - 0.7198 + - 0.7157 + - 0.9 + - 0.727 + - 0.7246 + - 0.704 + - 0.7039 + - 0.66 + - 0.6694 + - 0.6669 + - 0.7031 + - 0.6977 + - 0.6488 + - 0.6653 + - 0.9 + - 0.6265 + - 0.622 + - 0.6308 + - 0.6297 + - 0.621 + - 0.6225 + - 0.6229 + - 0.6234 + - 0.6238 + - 0.6332 + - 0.6425 + - 0.7028 + - 0.6152 + - 0.9 + - 0.7257 + - 0.7288 + - 1.15 + - 0.9 + - 0.6673 + - 0.7473 + - 0.6767 + - 0.7056 + - 0.9 + - 0.95 + - 0.7271 + - 0.95 + - 0.725 + - 0.7601 + - 0.6973 + - 0.7573 + - 0.6011 + - 0.606 + - 0.9 + - 0.6635 + - 0.586 + - 0.5766 + - 0.75 + - 2.0386 + - 0.75 + - 1.0 + - 0.9 + - 0.9 + - 0.9 + - 0.9 + - 0.9 + - 0.9 + - 1.0 + - 1.3386 + - 1.0 + - 1.0 + - 0.85 + - 0.95 + - 1.7386 + - 0.95 + - 0.9 + - 0.8 + - 1.7386 + - 0.75 + - 0.75 + - 0.75 + - 0.8 + - 0.75 + - 0.8 + - 0.9 + - 0.75 + - 0.8 + - 0.8 + - 1.1 + - 0.75 + - 1.1 + - 0.75 + - 0.5991 + - 0.5348 + - 0.6541 + - 0.7421 + - 0.6192 + - 0.8186 + - 1.0616 + - 0.8848 + - 1.024 + - 2.5 + - 1.0249 + - 1.0795 + - 1.2199 + - 2.5 + - 2.5 + - 1.3103 + - 1.3603 + - 2.5 + - 2.5 + - 2.5 + - 1.323 + - 2.5 + - 2.5 + - 2.5 + - 1.4406 + - 2.5 + - 2.5 + - 1.3965 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 1.6997 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 1.6264 + - 2.5 + - 2.5 + - 2.5 + - 1.3436 + - 2.5 + - 2.5 + - 0.5727 + - 0.6838 + - 0.5994 + - 0.5178 + - 0.5145 + - 0.547 + - 0.5572 + - 0.5002 + - 0.4974 + - 0.55 + - 0.4953 + - 0.4883 + - 0.4948 + - 0.5446 + - 0.5777 + - 1.5 + - 1.5 + - 3.0 + - 3.0 + - 2.5 + - 2.5 + - 2.0 + - 1.0 + - 1.5 + - 1.5 + - 1.8 + - 0.6 + - 0.7 + - 0.65 + - 0.675 + - 0.7 + - 0.75 + - 0.775 + - 0.8 + - 0.8 + - 0.85 + - 0.85 + - 0.85 + - 0.7 + - 0.7 + - 0.7 + - 0.7 + - 0.7 + - 0.7 + - 0.7 + - 0.725 + - 0.75 + - 0.775 + - 0.8 + - 0.825 + - 0.8 + - 0.8 + - 0.8 + - 0.75 + - 0.8 + - 0.8 + - 0.8 + - 0.8 + - 0.8 + - 0.85 + - 0.8 + - 0.8 + - 2.5 + - 0.75 + - 0.75 + - 0.75 + - 0.75 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 2122, 2123, 2128, 2134, 2141, 2145, 2149, 2153, 2164, 2189, 2197, + 2209, 2226, 2234, 2280, 2318, 2321, 2325, 2328, 2333, 2339, 2348, 2353, + 2355, 2357, 2363, 2370, 2371, 2377 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: airs_aqua + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: &id003 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: airs_aqua + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 1.0 + - 1.0 + - 3.0 + - 1.0 + - 3.0 + - 1.0 + - 1.0 + - 3.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 3.0 + - 1.0 + - 1.0 + - 3.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 3.0 + - 3.0 + - 3.5 + - 3.0 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 1.7 + - 3.0 + - 1.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.5 + - 1.25 + - 3.5 + - 3.5 + - 3.0 + - 3.0 + - 1.5 + - 3.0 + - 3.0 + - 3.0 + - 1.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.5 + - 3.0 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.5 + - 3.0 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id003 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: airs_aqua + - obs space: + name: AMSR2 GCOM-W1 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsr2_gcom-w1.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsr2_gcom-w1.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: amsr2_gcom-w1 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsr2_gcom-w1.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsr2_gcom-w1.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsr2_gcom-w1.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsr2_gcom-w1.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + var_name: sensorScanPosition + order: 4 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 3 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 2 + - name: sensorScanAngle + var_name: sensorScanPosition + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsr2_gcom-w1.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsr2_gcom-w1.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 340.0 + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.999 + - variable: + name: GeoVaLs/skin_temperature_at_surface_where_sea + minvalue: 275 + - variable: + name: GeoVaLs/wind_speed_at_surface + maxvalue: 12 + - variable: + name: MetaData/latitude + minvalue: -60.0 + maxvalue: 60.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/TotalColumnVaporGuess + minvalue: 10.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SunGlintAngle + minvalue: 20.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: &id004 + - 0.48 + - 3.0737 + - 0.7433 + - 3.643 + - 3.5304 + - 4.427 + - 5.1448 + - 5.0785 + - 4.9763 + - 9.3215 + - 2.5789 + - 5.5274 + - 0.6641 + - 1.3674 + clwret_types: + - ObsValue + maxvalue: 1.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id004 + clwret_types: + - HofX + maxvalue: 1.0 + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: None + value: + name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id004 + clwret_types: + - ObsValue + reference: + name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id004 + clwret_types: + - HofX + minvalue: -0.5 + maxvalue: 0.5 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id004 + clwret_types: + - ObsValue + - HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.1 + - 0.1 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 0.6 + - 0.6 + - 0.6 + - 0.6 + - 0.6 + - 0.5 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + err0: + - 0.8 + - 0.9 + - 0.8 + - 0.9 + - 1.0 + - 1.1 + - 2.0 + - 3.5 + - 3.0 + - 4.8 + - 5.0 + - 6.0 + - 4.5 + - 6.3 + err1: + - 5.0 + - 5.0 + - 5.0 + - 5.0 + - 5.0 + - 18.5 + - 20.0 + - 40.0 + - 20.0 + - 25.0 + - 30.0 + - 30.0 + - 30.0 + - 20.0 + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: None + threshold: 2.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 7-10 + absolute threshold: 30 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 11-14 + absolute threshold: 50 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: amsr2_gcom-w1 + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsr2_gcom-w1 + - obs space: + name: AMSU-A AQUA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_aqua.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_aqua.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_aqua + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_aqua.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_aqua.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_aqua.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_aqua.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_aqua.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_aqua.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id005 + - 2.5 + - 2.0 + - 2.0 + - 0.5 + - 0.4 + - 0.4 + - 0.5 + - 0.3 + - 0.35 + - 0.35 + - 0.45 + - 1.0 + - 1.5 + - 3.75 + - 6.3 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_aqua + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_aqua + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_aqua + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_aqua + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_aqua + error parameter vector: *id005 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 3.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 3.0 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_aqua + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_aqua + - obs space: + name: AMSU-A METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_metop-b.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_metop-b.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_metop-b.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_metop-b.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_metop-b.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_metop-b.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id006 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_metop-b + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_metop-b + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_metop-b + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_metop-b + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_metop-b + error parameter vector: *id006 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_metop-b + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_metop-b + - obs space: + name: AMSU-A METOP-C + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_metop-c.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_metop-c.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_metop-c + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_metop-c.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_metop-c.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_metop-c.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_metop-c.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_metop-c.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_metop-c.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id007 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_metop-c + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_metop-c + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_metop-c + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_metop-c + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_metop-c + error parameter vector: *id007 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_metop-c + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_metop-c + - obs space: + name: AMSU-A NOAA-15 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_n15.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_n15.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_n15 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_n15.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_n15.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_n15.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_n15.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_n15.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_n15.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id008 + - 3.0 + - 2.0 + - 2.0 + - 0.6 + - 0.3 + - 0.23 + - 0.25 + - 0.275 + - 0.34 + - 0.4 + - 0.6 + - 1.0 + - 1.5 + - 5.0 + - 3.0 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_n15 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_n15 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_n15 + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_n15 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_n15 + error parameter vector: *id008 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_n15 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_n15 + - obs space: + name: AMSU-A NOAA-18 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_n18.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_n18.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_n18 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_n18.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_n18.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_n18.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_n18.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_n18.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_n18.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id009 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_n18 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_n18 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_n18 + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_n18 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_n18 + error parameter vector: *id009 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_n18 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_n18 + - obs space: + name: AMSU-A NOAA-19 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_n19.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_n19.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_n19 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_n19.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_n19.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_n19.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_n19.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_n19.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_n19.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id010 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_n19 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_n19 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_n19 + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_n19 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_n19 + error parameter vector: *id010 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_n19 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_n19 + - obs space: + name: ATMS NOAA-20 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/atms_n20.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.atms_n20.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: atms_n20 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/atms_n20.20231009T150000Z.satbias.nc4 + output file: cycle_dir/atms_n20.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: ATMS + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/atms_n20.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/atms_n20.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/atms_n20.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/atms_n20.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id011 + - 5.0 + - 5.0 + - 5.0 + - 3.0 + - 0.55 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 5.0 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-7,16-22 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-7,16 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: atms_n20 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: atms_n20 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + use_biasterm: true + test_biasterm: ObsBiasTerm + sensor: atms_n20 + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: atms_n20 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: atms_n20 + error parameter vector: *id011 + obserr_bound_max: + - 4.5 + - 4.5 + - 3.0 + - 3.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 2.0 + - 4.5 + - 4.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: atms_n20 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: atms_n20 + - obs space: + name: ATMS NPP + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/atms_npp.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.atms_npp.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: atms_npp + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/atms_npp.20231009T150000Z.satbias.nc4 + output file: cycle_dir/atms_npp.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: ATMS + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/atms_npp.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/atms_npp.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/atms_npp.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/atms_npp.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id012 + - 5.0 + - 5.0 + - 5.0 + - 3.0 + - 0.55 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 5.0 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-7,16-22 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-7,16 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: atms_npp + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: atms_npp + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + use_biasterm: true + test_biasterm: ObsBiasTerm + sensor: atms_npp + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: atms_npp + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: atms_npp + error parameter vector: *id012 + obserr_bound_max: + - 4.5 + - 4.5 + - 3.0 + - 3.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 2.0 + - 4.5 + - 4.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: atms_npp + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: atms_npp + - obs space: + name: AVHRR-3 METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/avhrr3_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.avhrr3_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: avhrr3_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/avhrr3_metop-b.20231009T150000Z.satbias.nc4 + output file: cycle_dir/avhrr3_metop-b.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/avhrr3_metop-b.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/avhrr3_metop-b.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/avhrr3_metop-b.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/avhrr3_metop-b.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.0 + - 1.08 + - 1.12 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 3 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 1e-05 + maxvalue: 1000.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: avhrr3_metop-b + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualAVHRR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + cloud detection criteria: + - 0.6 + - 0.68 + - 0.72 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: avhrr3_metop-b + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: avhrr3_metop-b + - obs space: + name: AVHRR-3 NOAA-18 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/avhrr3_n18.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.avhrr3_n18.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: avhrr3_n18 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/avhrr3_n18.20231009T150000Z.satbias.nc4 + output file: cycle_dir/avhrr3_n18.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/avhrr3_n18.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/avhrr3_n18.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/avhrr3_n18.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/avhrr3_n18.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.0 + - 1.08 + - 1.12 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 3 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 1e-05 + maxvalue: 1000.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: avhrr3_n18 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualAVHRR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + cloud detection criteria: + - 0.6 + - 0.68 + - 0.72 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: avhrr3_n18 + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: avhrr3_n18 + - obs space: + name: AVHRR-3 NOAA-19 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/avhrr3_n19.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.avhrr3_n19.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: avhrr3_n19 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/avhrr3_n19.20231009T150000Z.satbias.nc4 + output file: cycle_dir/avhrr3_n19.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/avhrr3_n19.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/avhrr3_n19.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/avhrr3_n19.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/avhrr3_n19.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.0 + - 1.08 + - 1.12 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 3 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 1e-05 + maxvalue: 1000.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: avhrr3_n19 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualAVHRR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + cloud detection criteria: + - 0.6 + - 0.68 + - 0.72 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: avhrr3_n19 + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: avhrr3_n19 + - obs space: + name: CRIS-FSR NOAA-20 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/cris-fsr_n20.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.cris-fsr_n20.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: cris-fsr_n20 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/cris-fsr_n20.20231009T150000Z.satbias.nc4 + output file: cycle_dir/cris-fsr_n20.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/cris-fsr_n20.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/cris-fsr_n20.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/cris-fsr_n20.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/cris-fsr_n20.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/cris-fsr_108_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 0.823 + - 0.76 + - 0.736 + - 0.743 + - 0.856 + - 1.079 + - 0.888 + - 0.778 + - 0.671 + - 0.65 + - 0.643 + - 0.629 + - 0.629 + - 0.618 + - 0.638 + - 0.619 + - 0.61 + - 0.627 + - 0.601 + - 0.617 + - 0.608 + - 0.498 + - 0.5112 + - 0.4922 + - 0.4959 + - 0.4954 + - 0.4836 + - 0.514 + - 0.5005 + - 0.4917 + - 0.4881 + - 0.4656 + - 0.4793 + - 0.4638 + - 0.4557 + - 0.4666 + - 0.4468 + - 0.4534 + - 0.4471 + - 0.4448 + - 0.4469 + - 0.536 + - 0.4426 + - 0.4388 + - 0.534 + - 0.4368 + - 0.438 + - 0.531 + - 0.4379 + - 0.535 + - 0.4404 + - 0.4405 + - 0.4409 + - 0.4472 + - 0.4555 + - 0.4433 + - 0.4437 + - 0.4454 + - 0.4448 + - 0.4465 + - 0.4499 + - 0.4488 + - 0.54 + - 0.4534 + - 0.4472 + - 0.455 + - 0.4562 + - 0.452 + - 0.4639 + - 0.538 + - 0.4573 + - 0.4604 + - 0.4533 + - 0.4692 + - 0.566 + - 0.4457 + - 0.4457 + - 0.5154 + - 0.5084 + - 0.528 + - 0.552 + - 0.56 + - 0.567 + - 0.546 + - 0.495 + - 0.4809 + - 0.4732 + - 0.4861 + - 0.4632 + - 0.529 + - 0.4748 + - 0.5007 + - 0.5711 + - 0.595 + - 0.5469 + - 0.626 + - 0.541 + - 0.543 + - 0.533 + - 0.541 + - 0.4695 + - 0.53 + - 0.539 + - 0.529 + - 0.542 + - 0.4681 + - 0.536 + - 0.542 + - 0.535 + - 0.563 + - 0.4805 + - 0.647 + - 0.609 + - 0.553 + - 0.583 + - 0.576 + - 0.6294 + - 0.5885 + - 0.556 + - 0.578 + - 0.566 + - 0.601 + - 0.5627 + - 0.5675 + - 0.592 + - 0.5166 + - 0.589 + - 0.5291 + - 0.5892 + - 0.5976 + - 0.5834 + - 0.6512 + - 0.6748 + - 0.6615 + - 0.6003 + - 0.5669 + - 0.5587 + - 0.5507 + - 0.5871 + - 0.616 + - 0.637 + - 0.633 + - 0.639 + - 0.655 + - 0.641 + - 0.664 + - 0.648 + - 0.656 + - 0.663 + - 0.652 + - 0.681 + - 0.662 + - 0.673 + - 0.672 + - 0.68 + - 0.735 + - 0.732 + - 0.715 + - 0.674 + - 0.687 + - 0.702 + - 0.705 + - 0.715 + - 0.725 + - 0.707 + - 0.74 + - 0.74 + - 0.874 + - 0.737 + - 0.819 + - 0.76 + - 0.869 + - 0.9 + - 0.698 + - 0.823 + - 0.676 + - 0.682 + - 0.766 + - 0.68 + - 0.685 + - 0.694 + - 0.695 + - 0.689 + - 0.727 + - 0.695 + - 0.688 + - 0.677 + - 0.736 + - 0.651 + - 0.661 + - 0.6199 + - 0.6223 + - 0.6036 + - 0.6003 + - 0.5991 + - 0.598 + - 0.591 + - 0.5764 + - 0.577 + - 0.5593 + - 0.597 + - 0.576 + - 0.574 + - 0.578 + - 0.579 + - 0.575 + - 0.576 + - 0.568 + - 0.575 + - 0.569 + - 0.559 + - 0.568 + - 0.5401 + - 0.55 + - 0.5575 + - 0.578 + - 0.5635 + - 0.5786 + - 0.5807 + - 0.581 + - 0.573 + - 0.569 + - 0.567 + - 0.552 + - 0.55 + - 0.558 + - 0.552 + - 0.562 + - 0.574 + - 0.575 + - 0.629 + - 0.682 + - 0.756 + - 1.05 + - 1.122 + - 1.1402 + - 1.154 + - 1.131 + - 1.123 + - 1.159 + - 1.106 + - 1.116 + - 1.069 + - 1.077 + - 1.155 + - 1.162 + - 1.1402 + - 0.644 + - 1.208 + - 1.1402 + - 1.295 + - 1.258 + - 1.1402 + - 0.606 + - 0.603 + - 0.563 + - 0.592 + - 0.607 + - 0.611 + - 0.612 + - 0.618 + - 0.626 + - 0.629 + - 0.583 + - 0.8646 + - 0.626 + - 0.639 + - 0.559 + - 0.827 + - 0.612 + - 0.576 + - 0.58 + - 0.575 + - 0.688 + - 0.697 + - 0.743 + - 0.681 + - 0.832 + - 0.719 + - 0.785 + - 0.878 + - 0.9402 + - 1.0054 + - 1.073 + - 1.129 + - 1.035 + - 1.027 + - 0.9703 + - 1.195 + - 0.9153 + - 1.266 + - 1.153 + - 1.348 + - 1.18 + - 1.269 + - 1.311 + - 0.9914 + - 1.359 + - 1.166 + - 1.139 + - 1.2817 + - 1.398 + - 1.542 + - 1.229 + - 1.377 + - 1.28 + - 1.245 + - 1.1188 + - 1.193 + - 1.293 + - 1.275 + - 1.331 + - 1.34 + - 1.099 + - 1.048 + - 1.124 + - 1.225 + - 1.183 + - 1.196 + - 1.4 + - 1.333 + - 1.417 + - 1.326 + - 1.305 + - 1.0638 + - 1.268 + - 1.217 + - 1.289 + - 1.395 + - 1.232 + - 1.435 + - 1.298 + - 1.328 + - 1.262 + - 1.199 + - 1.391 + - 1.233 + - 1.329 + - 1.664 + - 1.509 + - 1.349 + - 1.481 + - 1.595 + - 1.485 + - 1.532 + - 1.504 + - 1.584 + - 1.609 + - 1.516 + - 1.489 + - 1.502 + - 1.544 + - 1.611 + - 1.539 + - 1.296 + - 1.288 + - 1.241 + - 1.32 + - 1.313 + - 1.301 + - 1.843 + - 1.747 + - 1.711 + - 1.771 + - 1.937 + - 1.575 + - 1.573 + - 1.5 + - 1.459 + - 1.402 + - 1.363 + - 2.201 + - 2.127 + - 2.177 + - 2.157 + - 2.192 + - 2.146 + - 2.151 + - 2.071 + - 1.986 + - 1.845 + - 1.687 + - 1.505 + - 1.373 + - 1.229 + - 1.113 + - 1.004 + - 0.936 + - 0.895 + - 0.871 + - 0.841 + - 0.821 + - 0.805 + - 0.8 + - 0.792 + - 0.797 + - 0.791 + - 0.783 + - 0.777 + - 0.785 + - 0.787 + - 0.789 + - 0.793 + - 0.794 + - 0.745 + - 0.75 + - 0.748 + - 0.749 + - 0.744 + - 0.733 + - 0.733 + - 0.741 + - 0.746 + - 0.746 + - 0.738 + - 0.743 + - 0.745 + - 0.749 + - 0.75 + - 0.75 + - 0.884 + - 0.906 + - 0.917 + - 0.924 + - 0.922 + - 0.928 + - 0.921 + - 0.938 + - 0.931 + - 0.943 + - 0.946 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, + 1983, 1984, 1985, 1986, 1987, 2119, 2140, 2143, 2147, 2153, 2158, 2161, + 2168, 2171, 2175, 2182 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: cris-fsr_n20 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: &id013 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 31 + - 31 + - 30 + - 31 + - 30 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 31 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: cris-fsr_n20 + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 2.0 + - 0.4 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.4 + - 0.4 + - 0.4 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id013 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: cris-fsr_n20 + - obs space: + name: CRIS-FSR NPP + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/cris-fsr_npp.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.cris-fsr_npp.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: cris-fsr_npp + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/cris-fsr_npp.20231009T150000Z.satbias.nc4 + output file: cycle_dir/cris-fsr_npp.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/cris-fsr_npp.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/cris-fsr_npp.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/cris-fsr_npp.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/cris-fsr_npp.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/cris-fsr_108_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 0.823 + - 0.76 + - 0.736 + - 0.743 + - 0.856 + - 1.079 + - 0.888 + - 0.778 + - 0.671 + - 0.65 + - 0.643 + - 0.629 + - 0.629 + - 0.618 + - 0.638 + - 0.619 + - 0.61 + - 0.627 + - 0.601 + - 0.617 + - 0.608 + - 0.498 + - 0.5112 + - 0.4922 + - 0.4959 + - 0.4954 + - 0.4836 + - 0.514 + - 0.5005 + - 0.4917 + - 0.4881 + - 0.4656 + - 0.4793 + - 0.4638 + - 0.4557 + - 0.4666 + - 0.4468 + - 0.4534 + - 0.4471 + - 0.4448 + - 0.4469 + - 0.536 + - 0.4426 + - 0.4388 + - 0.534 + - 0.4368 + - 0.438 + - 0.531 + - 0.4379 + - 0.535 + - 0.4404 + - 0.4405 + - 0.4409 + - 0.4472 + - 0.4555 + - 0.4433 + - 0.4437 + - 0.4454 + - 0.4448 + - 0.4465 + - 0.4499 + - 0.4488 + - 0.54 + - 0.4534 + - 0.4472 + - 0.455 + - 0.4562 + - 0.452 + - 0.4639 + - 0.538 + - 0.4573 + - 0.4604 + - 0.4533 + - 0.4692 + - 0.566 + - 0.4457 + - 0.4457 + - 0.5154 + - 0.5084 + - 0.528 + - 0.552 + - 0.56 + - 0.567 + - 0.546 + - 0.495 + - 0.4809 + - 0.4732 + - 0.4861 + - 0.4632 + - 0.529 + - 0.4748 + - 0.5007 + - 0.5711 + - 0.595 + - 0.5469 + - 0.626 + - 0.541 + - 0.543 + - 0.533 + - 0.541 + - 0.4695 + - 0.53 + - 0.539 + - 0.529 + - 0.542 + - 0.4681 + - 0.536 + - 0.542 + - 0.535 + - 0.563 + - 0.4805 + - 0.647 + - 0.609 + - 0.553 + - 0.583 + - 0.576 + - 0.6294 + - 0.5885 + - 0.556 + - 0.578 + - 0.566 + - 0.601 + - 0.5627 + - 0.5675 + - 0.592 + - 0.5166 + - 0.589 + - 0.5291 + - 0.5892 + - 0.5976 + - 0.5834 + - 0.6512 + - 0.6748 + - 0.6615 + - 0.6003 + - 0.5669 + - 0.5587 + - 0.5507 + - 0.5871 + - 0.616 + - 0.637 + - 0.633 + - 0.639 + - 0.655 + - 0.641 + - 0.664 + - 0.648 + - 0.656 + - 0.663 + - 0.652 + - 0.681 + - 0.662 + - 0.673 + - 0.672 + - 0.68 + - 0.735 + - 0.732 + - 0.715 + - 0.674 + - 0.687 + - 0.702 + - 0.705 + - 0.715 + - 0.725 + - 0.707 + - 0.74 + - 0.74 + - 0.874 + - 0.737 + - 0.819 + - 0.76 + - 0.869 + - 0.9 + - 0.698 + - 0.823 + - 0.676 + - 0.682 + - 0.766 + - 0.68 + - 0.685 + - 0.694 + - 0.695 + - 0.689 + - 0.727 + - 0.695 + - 0.688 + - 0.677 + - 0.736 + - 0.651 + - 0.661 + - 0.6199 + - 0.6223 + - 0.6036 + - 0.6003 + - 0.5991 + - 0.598 + - 0.591 + - 0.5764 + - 0.577 + - 0.5593 + - 0.597 + - 0.576 + - 0.574 + - 0.578 + - 0.579 + - 0.575 + - 0.576 + - 0.568 + - 0.575 + - 0.569 + - 0.559 + - 0.568 + - 0.5401 + - 0.55 + - 0.5575 + - 0.578 + - 0.5635 + - 0.5786 + - 0.5807 + - 0.581 + - 0.573 + - 0.569 + - 0.567 + - 0.552 + - 0.55 + - 0.558 + - 0.552 + - 0.562 + - 0.574 + - 0.575 + - 0.629 + - 0.682 + - 0.756 + - 1.05 + - 1.122 + - 1.1402 + - 1.154 + - 1.131 + - 1.123 + - 1.159 + - 1.106 + - 1.116 + - 1.069 + - 1.077 + - 1.155 + - 1.162 + - 1.1402 + - 0.644 + - 1.208 + - 1.1402 + - 1.295 + - 1.258 + - 1.1402 + - 0.606 + - 0.603 + - 0.563 + - 0.592 + - 0.607 + - 0.611 + - 0.612 + - 0.618 + - 0.626 + - 0.629 + - 0.583 + - 0.8646 + - 0.626 + - 0.639 + - 0.559 + - 0.827 + - 0.612 + - 0.576 + - 0.58 + - 0.575 + - 0.688 + - 0.697 + - 0.743 + - 0.681 + - 0.832 + - 0.719 + - 0.785 + - 0.878 + - 0.9402 + - 1.0054 + - 1.073 + - 1.129 + - 1.035 + - 1.027 + - 0.9703 + - 1.195 + - 0.9153 + - 1.266 + - 1.153 + - 1.348 + - 1.18 + - 1.269 + - 1.311 + - 0.9914 + - 1.359 + - 1.166 + - 1.139 + - 1.2817 + - 1.398 + - 1.542 + - 1.229 + - 1.377 + - 1.28 + - 1.245 + - 1.1188 + - 1.193 + - 1.293 + - 1.275 + - 1.331 + - 1.34 + - 1.099 + - 1.048 + - 1.124 + - 1.225 + - 1.183 + - 1.196 + - 1.4 + - 1.333 + - 1.417 + - 1.326 + - 1.305 + - 1.0638 + - 1.268 + - 1.217 + - 1.289 + - 1.395 + - 1.232 + - 1.435 + - 1.298 + - 1.328 + - 1.262 + - 1.199 + - 1.391 + - 1.233 + - 1.329 + - 1.664 + - 1.509 + - 1.349 + - 1.481 + - 1.595 + - 1.485 + - 1.532 + - 1.504 + - 1.584 + - 1.609 + - 1.516 + - 1.489 + - 1.502 + - 1.544 + - 1.611 + - 1.539 + - 1.296 + - 1.288 + - 1.241 + - 1.32 + - 1.313 + - 1.301 + - 1.843 + - 1.747 + - 1.711 + - 1.771 + - 1.937 + - 1.575 + - 1.573 + - 1.5 + - 1.459 + - 1.402 + - 1.363 + - 2.201 + - 2.127 + - 2.177 + - 2.157 + - 2.192 + - 2.146 + - 2.151 + - 2.071 + - 1.986 + - 1.845 + - 1.687 + - 1.505 + - 1.373 + - 1.229 + - 1.113 + - 1.004 + - 0.936 + - 0.895 + - 0.871 + - 0.841 + - 0.821 + - 0.805 + - 0.8 + - 0.792 + - 0.797 + - 0.791 + - 0.783 + - 0.777 + - 0.785 + - 0.787 + - 0.789 + - 0.793 + - 0.794 + - 0.745 + - 0.75 + - 0.748 + - 0.749 + - 0.744 + - 0.733 + - 0.733 + - 0.741 + - 0.746 + - 0.746 + - 0.738 + - 0.743 + - 0.745 + - 0.749 + - 0.75 + - 0.75 + - 0.884 + - 0.906 + - 0.917 + - 0.924 + - 0.922 + - 0.928 + - 0.921 + - 0.938 + - 0.931 + - 0.943 + - 0.946 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, + 1983, 1984, 1985, 1986, 1987, 2119, 2140, 2143, 2147, 2153, 2158, 2161, + 2168, 2171, 2175, 2182 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: cris-fsr_npp + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: &id014 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 31 + - 31 + - 30 + - 31 + - 30 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 31 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: cris-fsr_npp + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 2.0 + - 0.4 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.4 + - 0.4 + - 0.4 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id014 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: cris-fsr_npp + - obs space: + name: GMI GPM + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/gmi_gpm.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.gmi_gpm.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: gmi_gpm + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/gmi_gpm.20231009T150000Z.satbias.nc4 + output file: cycle_dir/gmi_gpm.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/gmi_gpm.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/gmi_gpm.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: cloudWaterContent + sensor: GMI_GPM + ch37v: 6 + ch37h: 7 + order: 2 + tlapse: cycle_dir/gmi_gpm.20231009T150000Z.tlapse.txt + - name: cloudWaterContent + sensor: GMI_GPM + ch37v: 6 + ch37h: 7 + tlapse: cycle_dir/gmi_gpm.20231009T150000Z.tlapse.txt + - name: sensorScanAngle + var_name: sensorScanPosition + order: 4 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 3 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 2 + - name: sensorScanAngle + var_name: sensorScanPosition + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/gmi_gpm.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/gmi_gpm.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-9 + minvalue: 50.0 + maxvalue: 320.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 10-13 + minvalue: 70.0 + maxvalue: 320.0 + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 5 + maxvalue: 70 + - variable: + name: MetaData/latitude + minvalue: -55.0 + maxvalue: 55.0 + - variable: + name: MetaData/heightOfSurface + maxvalue: 2000 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + minvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/latitude + minvalue: -20.0 + maxvalue: 0.0 + - variable: + name: MetaData/longitude + minvalue: 25.0 + maxvalue: 40.0 + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/cloudWaterContent_obs + type: float + function: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + maxvalue: 900 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - HofX + maxvalue: 900 + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/cloudWaterContent_hofx + type: float + function: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - HofX + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + minvalue: 0.0 + maxvalue: 0.05 + - variable: + name: ObsFunction/Emissivity_Diff_GMI + options: + channel: 2 + regression_constant_1: 0.1329 + regression_constant_2: 0.42468 + regression_coeff_1: + - -0.00548 + - 0.00772 + - 0.0053 + - -0.00425 + - 0.00053 + - 8e-05 + - -3e-05 + - -0.00144 + - 0.00059 + - -0.00016 + - 3e-05 + - -0.00011 + - 0.00017 + regression_coeff_2: + - 0.00289 + - -0.00142 + minvalue: 0.01 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + minvalue: 0.0 + maxvalue: 0.05 + - variable: + name: ObsFunction/Emissivity_Diff_GMI + options: + channel: 4 + regression_constant_1: 0.15627 + regression_constant_2: 0.83807 + regression_coeff_1: + - -0.01084 + - 0.01194 + - 0.01111 + - -0.00784 + - 0.0006 + - 8e-05 + - -3e-05 + - -0.00248 + - 0.00105 + - -8e-05 + - 0.0 + - -0.00013 + - 0.00016 + regression_coeff_2: + - 0.00048 + - -0.00207 + minvalue: 0.035 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + minvalue: 0.0 + maxvalue: 0.05 + - variable: + name: ObsFunction/Emissivity_Diff_GMI + options: + channel: 7 + regression_constant_1: 0.30306 + regression_constant_2: 1.24071 + regression_coeff_1: + - -0.01793 + - 0.0173 + - 0.01784 + - -0.01199 + - 0.00067 + - 0.00013 + - -4e-05 + - -0.00365 + - 0.00154 + - -4e-05 + - -1e-05 + - -0.00015 + - 0.00017 + regression_coeff_2: + - 0.00068 + - -0.00342 + minvalue: 0.05 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + - HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.3 + - 0.2 + - 0.3 + - 0.3 + x2: + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + err0: + - 2.7 + - 3.7 + - 3.5 + - 4.5 + - 4.0 + - 3.8 + - 300.0 + - 5.0 + - 11.5 + - 5.0 + - 5.0 + - 2.5 + - 3.0 + err1: + - 17.0 + - 23.0 + - 13.0 + - 25.0 + - 11.0 + - 13.0 + - 23.0 + - 10.0 + - 20.0 + - 15.0 + - 20.0 + - 8.0 + - 13.0 + err2: + - 25.0 + - 40.0 + - 40.0 + - 55.0 + - 35.0 + - 25.0 + - 500.0 + - 50.0 + - 50.0 + - 50.0 + - 50.0 + - 30.0 + - 40.0 + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 1,2,4,6 + threshold: 2.0 + absolute threshold: 30.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 9,10,11 + threshold: 2.0 + absolute threshold: 20.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 3,5,8 + threshold: 2.0 + absolute threshold: 15.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 12,13 + threshold: 2.0 + absolute threshold: 10.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 7 + threshold: 2.0 + absolute threshold: 5.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: gmi_gpm + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: gmi_gpm + - obs space: + name: gnssrobndnbam + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/gps.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - sequenceNumber + sort variable: impactHeightRO + sort order: ascending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.gps.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - bendingAngle + obs operator: + name: GnssroBndNBAM + obs options: + use_compress: 1 + vertlayer: full + sr_steps: 2 + super_ref_qc: NBAM + obs filters: + - filter: BlackList + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 41,265,266,421,440,724,725,726,727,728,729 + - filter: Perform Action + filter variables: + - name: bendingAngle + where: + - variable: PreUseFlag/bendingAngle + minvalue: 1 + action: + name: reject + - filter: Domain Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/impactHeightRO + minvalue: 0 + maxvalue: 55000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 265,266,267,268,269 + test variables: + - name: MetaData/impactHeightRO + maxvalue: 45000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 3-5 + test variables: + - name: MetaData/impactHeightRO + minvalue: 8000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 267,268,269 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 401 + test variables: + - name: MetaData/impactHeightRO + minvalue: 5000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 267,268,269 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 402-999 + test variables: + - name: MetaData/impactHeightRO + minvalue: 9000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 265,266 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 401 + test variables: + - name: MetaData/impactHeightRO + minvalue: 5000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 265,266 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 402-999 + test variables: + - name: MetaData/impactHeightRO + minvalue: 8000.1 + action: + name: reject + - filter: ROobserror + filter variables: + - name: bendingAngle + errmodel: NBAM + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: inflate error + inflation factor: 2.0 + where: + - variable: MetaData/satelliteIdentifier + is_in: 267,268,269 + - filter: Variable Assignment + assignments: + - name: JediAdjustObsError/bendingAngle + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/bendingAngle + defer to post: true + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: assign error + error parameter: 1.0 + where: + - variable: + name: JediAdjustObsError/bendingAngle + maxvalue: 1.0 + - variable: + name: JediAdjustObsError/bendingAngle + value: is_valid + - variable: + name: MetaData/satelliteIdentifier + is_in: 3,5,41,42,43,44,267,268,269,440,421,724,725,726,727,728,729, 750,751,752,753,754,755,821,825 + defer to post: true + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: assign error + error parameter: 10.0 + where: + - variable: + name: JediAdjustObsError/bendingAngle + minvalue: 10.0 + - variable: + name: JediAdjustObsError/bendingAngle + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: bendingAngle + threshold: 5 + action: + name: reject + defer to post: true + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: assign error + error function: JediAdjustObsError/bendingAngle + where: + - variable: + name: JediAdjustObsError/bendingAngle + value: is_valid + defer to post: true + - filter: Background Check RONBAM + filter variables: + - name: bendingAngle + defer to post: true + - filter: Background Check RONBAM + filter variables: + - name: bendingAngle + action: + name: RONBAMErrInflate_GEOS + defer to post: true + observation_name: gps + - obs space: + name: IASI METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/iasi_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.iasi_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: iasi_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/iasi_metop-b.20231009T150000Z.satbias.nc4 + output file: cycle_dir/iasi_metop-b.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/iasi_metop-b.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/iasi_metop-b.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/iasi_metop-b.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/iasi_metop-b.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/iasi_metop_141_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id015 + - 0.727 + - 0.81 + - 0.75 + - 0.79 + - 0.7055 + - 0.74 + - 0.68 + - 0.72 + - 0.6526 + - 0.65 + - 0.665 + - 0.69 + - 0.6394 + - 0.64 + - 0.6528 + - 0.6065 + - 0.6246 + - 0.61 + - 0.6423 + - 0.5995 + - 0.59 + - 0.6069 + - 0.6 + - 0.5965 + - 0.64 + - 0.62 + - 0.589 + - 0.5865 + - 0.65 + - 0.5861 + - 0.61 + - 0.5874 + - 0.68 + - 0.606 + - 0.68 + - 4.38 + - 3.05 + - 2.31 + - 1.56 + - 1.33 + - 1.58 + - 0.93 + - 0.5832 + - 0.5587 + - 0.5867 + - 0.58 + - 0.5655 + - 0.5522 + - 0.5864 + - 0.5475 + - 0.5854 + - 0.5455 + - 0.5811 + - 0.5376 + - 0.5452 + - 0.5686 + - 0.5329 + - 0.5655 + - 0.5302 + - 0.545 + - 0.5628 + - 0.59 + - 0.5262 + - 0.559 + - 0.5264 + - 0.5442 + - 0.51 + - 0.5513 + - 0.5224 + - 0.5523 + - 0.5188 + - 0.5487 + - 0.5245 + - 0.58 + - 0.5437 + - 0.5343 + - 0.5364 + - 0.64 + - 0.5338 + - 0.72 + - 0.537 + - 0.75 + - 0.51 + - 0.65 + - 0.5274 + - 0.529 + - 0.5187 + - 0.5228 + - 1.12 + - 0.5222 + - 0.5109 + - 0.67 + - 0.5133 + - 0.5179 + - 0.507 + - 0.67 + - 0.5091 + - 0.62 + - 0.5093 + - 0.69 + - 0.5048 + - 0.5024 + - 0.78 + - 0.497 + - 0.5337 + - 0.4865 + - 0.4915 + - 0.4835 + - 0.4869 + - 0.87 + - 0.4824 + - 0.4852 + - 0.84 + - 0.84 + - 0.84 + - 0.5318 + - 0.8 + - 0.4772 + - 0.98 + - 0.488 + - 0.4978 + - 0.5157 + - 0.61 + - 0.5213 + - 0.4884 + - 0.79 + - 0.62 + - 0.66 + - 0.4691 + - 0.65 + - 0.4809 + - 0.468 + - 0.62 + - 0.4679 + - 0.6913 + - 0.4705 + - 0.4785 + - 0.47 + - 0.4773 + - 0.4703 + - 0.98 + - 0.4697 + - 0.4662 + - 0.65 + - 0.467 + - 0.4883 + - 0.4684 + - 0.4684 + - 0.4947 + - 0.5393 + - 0.5024 + - 0.4715 + - 0.621 + - 0.6136 + - 0.5316 + - 1.78 + - 0.5099 + - 1.14 + - 0.539 + - 1.79 + - 0.508 + - 0.5723 + - 1.94 + - 2.01 + - 0.49 + - 0.5647 + - 0.5022 + - 1.47 + - 0.5815 + - 0.6782 + - 2.13 + - 0.5445 + - 1.52 + - 0.5555 + - 1.96 + - 2.31 + - 2.33 + - 2.32 + - 2.31 + - 0.6994 + - 0.7006 + - 0.706 + - 0.9785 + - 0.7023 + - 0.6991 + - 0.6946 + - 2.28 + - 2.26 + - 2.26 + - 2.26 + - 0.6608 + - 0.6835 + - 0.6822 + - 2.24 + - 2.26 + - 0.6735 + - 2.28 + - 0.667 + - 0.7732 + - 0.6642 + - 0.648 + - 0.6629 + - 2.29 + - 2.29 + - 0.6799 + - 0.623 + - 2.32 + - 0.603 + - 0.6224 + - 2.32 + - 0.6187 + - 2.31 + - 2.31 + - 2.28 + - 2.29 + - 2.28 + - 2.26 + - 1.966 + - 2.27 + - 2.26 + - 2.25 + - 2.27 + - 2.24 + - 2.21 + - 2.24 + - 2.17 + - 2.18 + - 2.17 + - 2.21 + - 1.4 + - 2.16 + - 2.2 + - 2.13 + - 2.12 + - 2.13 + - 2.1 + - 2.12 + - 2.11 + - 2.09 + - 2.09 + - 2.08 + - 2.09 + - 2.04 + - 2.04 + - 1.966 + - 2.01 + - 2.05 + - 2.03 + - 2.06 + - 1.98 + - 1.95 + - 1.94 + - 1.91 + - 1.857 + - 1.76 + - 1.748 + - 1.83 + - 2.04 + - 1.748 + - 1.99 + - 2.075 + - 2.07 + - 2.02 + - 2.04 + - 2.1 + - 1.966 + - 2.18 + - 2.21 + - 2.24 + - 2.23 + - 2.23 + - 1.98 + - 2.2 + - 2.18 + - 2.18 + - 2.21 + - 2.23 + - 2.24 + - 2.24 + - 2.25 + - 1.8 + - 2.24 + - 1.73 + - 1.73 + - 2.27 + - 1.67 + - 2.21 + - 1.72 + - 2.23 + - 2.23 + - 2.23 + - 2.24 + - 2.23 + - 2.12 + - 2.17 + - 1.74 + - 2.02 + - 1.88 + - 1.67 + - 1.73 + - 1.83 + - 1.82 + - 1.73 + - 1.83 + - 2.19 + - 1.84 + - 1.89 + - 1.6 + - 1.71 + - 1.86 + - 1.85 + - 1.84 + - 1.87 + - 1.91 + - 1.52 + - 1.95 + - 1.87 + - 1.89 + - 1.91 + - 1.91 + - 1.93 + - 1.9 + - 1.91 + - 1.9 + - 1.89 + - 1.89 + - 1.91 + - 1.9 + - 1.91 + - 1.91 + - 1.91 + - 1.93 + - 1.94 + - 1.91 + - 1.92 + - 1.77 + - 1.91 + - 1.95 + - 1.19 + - 1.96 + - 1.98 + - 1.94 + - 1.55 + - 1.91 + - 1.92 + - 1.92 + - 1.97 + - 1.93 + - 1.99 + - 1.86 + - 1.12 + - 1.93 + - 1.92 + - 1.95 + - 1.85 + - 1.84 + - 1.91 + - 1.12 + - 1.82 + - 1.82 + - 1.95 + - 1.24 + - 1.94 + - 1.96 + - 1.21 + - 1.83 + - 1.96 + - 1.36 + - 1.96 + - 1.82 + - 1.92 + - 1.68 + - 1.93 + - 1.23 + - 1.96 + - 1.93 + - 1.86 + - 1.41 + - 1.16 + - 1.6 + - 1.25 + - 1.2 + - 1.65 + - 1.66 + - 1.87 + - 1.94 + - 1.96 + - 1.91 + - 1.25 + - 1.93 + - 1.91 + - 1.7 + - 0.99 + - 1.81 + - 1.92 + - 1.95 + - 1.5 + - 1.47 + - 1.15 + - 1.58 + - 1.18 + - 1.82 + - 1.13 + - 1.83 + - 1.91 + - 1.26 + - 1.27 + - 1.91 + - 1.45 + - 1.6 + - 1.29 + - 1.94 + - 1.94 + - 1.23 + - 1.95 + - 1.21 + - 1.94 + - 1.86 + - 1.9 + - 1.33 + - 1.75 + - 2.02 + - 1.98 + - 2.03 + - 1.83 + - 1.5 + - 2.04 + - 2.02 + - 1.9 + - 2.0 + - 2.02 + - 1.95 + - 1.93 + - 1.95 + - 1.95 + - 1.99 + - 2.0 + - 1.94 + - 1.96 + - 1.86 + - 1.92 + - 1.88 + - 1.86 + - 1.84 + - 1.87 + - 1.77 + - 1.89 + - 1.89 + - 1.88 + - 1.94 + - 1.82 + - 1.79 + - 1.86 + - 2.06 + - 2.33 + - 1.88 + - 1.86 + - 1.81 + - 1.8 + - 1.8 + - 1.86 + - 1.9 + - 2.0 + - 2.06 + - 2.1 + - 2.2 + - 2.0 + - 2.16 + - 1.98 + - 1.8 + - 1.8 + - 1.85 + - 1.75 + - 2.04 + - 2.19 + - 2.14 + - 2.19 + - 1.86 + - 2.1 + - 2.11 + - 2.18 + - 2.03 + - 2.28 + - 2.19 + - 2.26 + - 2.26 + - 2.21 + - 2.21 + - 2.26 + - 2.33 + - 2.27 + - 2.21 + - 2.12 + - 2.23 + - 2.26 + - 2.25 + - 1.88 + - 2.26 + - 2.24 + - 2.36 + - 2.29 + - 2.35 + - 2.3 + - 2.27 + - 2.08 + - 2.05 + - 2.27 + - 2.28 + - 2.27 + - 2.28 + - 1.97 + - 2.25 + - 2.25 + - 2.25 + - 2.31 + - 2.28 + - 2.27 + - 2.13 + - 2.24 + - 2.28 + - 2.28 + - 2.41 + - 2.34 + - 9.32 + - 2.28 + - 2.38 + - 2.27 + - 2.27 + - 2.39 + - 2.11 + - 2.09 + - 2.1 + - 2.06 + - 2.12 + - 2.08 + - 2.0 + - 1.93 + - 2.02 + - 2.55 + - 1.54 + - 1.64 + - 1.51 + - 1.55 + - 2.82 + - 2.92 + - 2.55 + - 2.37 + - 1.85 + - 1.6 + - 1.72 + - 1.74 + - 1.79 + - 1.9 + - 1.94 + - 2.0 + - 2.04 + - 2.08 + - 2.12 + - 2.13 + - 2.16 + - 2.18 + - 2.18 + - 2.2 + - 2.2 + - 2.41 + - 2.39 + - 2.38 + - 2.4 + - 2.42 + - 2.41 + - 2.43 + - 2.45 + - 2.43 + - 2.45 + - 2.43 + - 2.4 + - 2.44 + - 2.4 + - 2.42 + - 2.43 + - 2.45 + - 2.45 + - 2.45 + - 2.46 + - 2.45 + - 2.45 + - 2.43 + - 2.51 + - 2.48 + - 2.48 + - 2.53 + - 2.46 + - 2.49 + - 2.5 + - 2.5 + - 2.5 + - 2.52 + - 2.52 + - 2.54 + - 2.5 + - 2.48 + - 2.5 + - 2.55 + - 2.5 + - 2.48 + - 2.5 + - 2.5 + - 2.52 + - 2.52 + - 2.48 + - 2.5 + - 2.5 + - 2.52 + - 2.46 + - 2.53 + - 9.0 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 7024, 7027, 7029, 7032, 7038, 7043, 7046, 7049, 7069, 7072, 7076, + 7081, 7084, 7089, 7099, 7209, 7222, 7231, 7235, 7247, 7267, 7269, 7284, + 7389, 7419, 7423, 7424, 7426, 7428, 7431, 7436, 7444, 7475, 7549, 7584, + 7665, 7666, 7831, 7836, 7853, 7865, 7885, 7888, 7912, 7950, 7972, 7980, + 7995, 8007, 8015, 8055, 8078 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: iasi_metop-b + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + error parameter vector: *id015 + use_flag: None + use_flag_clddet: &id016 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + error parameter vector: *id015 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: iasi_metop-b + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + error parameter vector: *id015 + obserr_bound_max: + - 3.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 4.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 4.0 + - 4.0 + - 3.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.75 + - 2.0 + - 0.75 + - 2.0 + - 2.0 + - 2.0 + - 0.75 + - 0.75 + - 0.75 + - 0.75 + - 2.0 + - 0.75 + - 0.75 + - 2.0 + - 0.75 + - 0.75 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 2.0 + - 2.5 + - 2.5 + - 3.0 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 3.5 + - 2.5 + - 2.5 + - 3.0 + - 3.5 + - 3.0 + - 4.0 + - 4.0 + - 0.75 + - 4.0 + - 4.0 + - 4.0 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.0 + - 4.5 + - 4.0 + - 4.0 + - 4.5 + - 2.5 + - 3.0 + - 2.5 + - 3.0 + - 2.5 + - 3.0 + - 2.0 + - 2.5 + - 2.5 + - 3.0 + - 3.0 + - 2.5 + - 3.0 + - 3.0 + - 3.0 + - 2.5 + - 2.5 + - 4.0 + - 4.5 + - 4.5 + - 5.0 + - 4.0 + - 4.0 + - 5.0 + - 5.0 + - 5.0 + - 5.0 + - 5.5 + - 5.5 + - 4.0 + - 5.0 + - 4.0 + - 4.5 + - 5.5 + - 5.5 + - 6.0 + - 4.5 + - 4.5 + - 4.0 + - 5.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.25 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.25 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.4 + - 6.0 + - 1.4 + - 6.0 + - 6.0 + - 1.4 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.5 + - 4.5 + - 6.0 + - 5.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 4.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 4.5 + - 6.0 + - 6.0 + - 4.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id016 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: iasi_metop-b + - obs space: + name: IASI METOP-C + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/iasi_metop-c.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.iasi_metop-c.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: iasi_metop-c + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/iasi_metop-c.20231009T150000Z.satbias.nc4 + output file: cycle_dir/iasi_metop-c.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/iasi_metop-c.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/iasi_metop-c.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/iasi_metop-c.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/iasi_metop-c.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/iasi_metop_141_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id017 + - 0.727 + - 0.81 + - 0.75 + - 0.79 + - 0.7055 + - 0.74 + - 0.68 + - 0.72 + - 0.6526 + - 0.65 + - 0.665 + - 0.69 + - 0.6394 + - 0.64 + - 0.6528 + - 0.6065 + - 0.6246 + - 0.61 + - 0.6423 + - 0.5995 + - 0.59 + - 0.6069 + - 0.6 + - 0.5965 + - 0.64 + - 0.62 + - 0.589 + - 0.5865 + - 0.65 + - 0.5861 + - 0.61 + - 0.5874 + - 0.68 + - 0.606 + - 0.68 + - 4.38 + - 3.05 + - 2.31 + - 1.56 + - 1.33 + - 1.58 + - 0.93 + - 0.5832 + - 0.5587 + - 0.5867 + - 0.58 + - 0.5655 + - 0.5522 + - 0.5864 + - 0.5475 + - 0.5854 + - 0.5455 + - 0.5811 + - 0.5376 + - 0.5452 + - 0.5686 + - 0.5329 + - 0.5655 + - 0.5302 + - 0.545 + - 0.5628 + - 0.59 + - 0.5262 + - 0.559 + - 0.5264 + - 0.5442 + - 0.51 + - 0.5513 + - 0.5224 + - 0.5523 + - 0.5188 + - 0.5487 + - 0.5245 + - 0.58 + - 0.5437 + - 0.5343 + - 0.5364 + - 0.64 + - 0.5338 + - 0.72 + - 0.537 + - 0.75 + - 0.51 + - 0.65 + - 0.5274 + - 0.529 + - 0.5187 + - 0.5228 + - 1.12 + - 0.5222 + - 0.5109 + - 0.67 + - 0.5133 + - 0.5179 + - 0.507 + - 0.67 + - 0.5091 + - 0.62 + - 0.5093 + - 0.69 + - 0.5048 + - 0.5024 + - 0.78 + - 0.497 + - 0.5337 + - 0.4865 + - 0.4915 + - 0.4835 + - 0.4869 + - 0.87 + - 0.4824 + - 0.4852 + - 0.84 + - 0.84 + - 0.84 + - 0.5318 + - 0.8 + - 0.4772 + - 0.98 + - 0.488 + - 0.4978 + - 0.5157 + - 0.61 + - 0.5213 + - 0.4884 + - 0.79 + - 0.62 + - 0.66 + - 0.4691 + - 0.65 + - 0.4809 + - 0.468 + - 0.62 + - 0.4679 + - 0.6913 + - 0.4705 + - 0.4785 + - 0.47 + - 0.4773 + - 0.4703 + - 0.98 + - 0.4697 + - 0.4662 + - 0.65 + - 0.467 + - 0.4883 + - 0.4684 + - 0.4684 + - 0.4947 + - 0.5393 + - 0.5024 + - 0.4715 + - 0.621 + - 0.6136 + - 0.5316 + - 1.78 + - 0.5099 + - 1.14 + - 0.539 + - 1.79 + - 0.508 + - 0.5723 + - 1.94 + - 2.01 + - 0.49 + - 0.5647 + - 0.5022 + - 1.47 + - 0.5815 + - 0.6782 + - 2.13 + - 0.5445 + - 1.52 + - 0.5555 + - 1.96 + - 2.31 + - 2.33 + - 2.32 + - 2.31 + - 0.6994 + - 0.7006 + - 0.706 + - 0.9785 + - 0.7023 + - 0.6991 + - 0.6946 + - 2.28 + - 2.26 + - 2.26 + - 2.26 + - 0.6608 + - 0.6835 + - 0.6822 + - 2.24 + - 2.26 + - 0.6735 + - 2.28 + - 0.667 + - 0.7732 + - 0.6642 + - 0.648 + - 0.6629 + - 2.29 + - 2.29 + - 0.6799 + - 0.623 + - 2.32 + - 0.603 + - 0.6224 + - 2.32 + - 0.6187 + - 2.31 + - 2.31 + - 2.28 + - 2.29 + - 2.28 + - 2.26 + - 1.966 + - 2.27 + - 2.26 + - 2.25 + - 2.27 + - 2.24 + - 2.21 + - 2.24 + - 2.17 + - 2.18 + - 2.17 + - 2.21 + - 1.4 + - 2.16 + - 2.2 + - 2.13 + - 2.12 + - 2.13 + - 2.1 + - 2.12 + - 2.11 + - 2.09 + - 2.09 + - 2.08 + - 2.09 + - 2.04 + - 2.04 + - 1.966 + - 2.01 + - 2.05 + - 2.03 + - 2.06 + - 1.98 + - 1.95 + - 1.94 + - 1.91 + - 1.857 + - 1.76 + - 1.748 + - 1.83 + - 2.04 + - 1.748 + - 1.99 + - 2.075 + - 2.07 + - 2.02 + - 2.04 + - 2.1 + - 1.966 + - 2.18 + - 2.21 + - 2.24 + - 2.23 + - 2.23 + - 1.98 + - 2.2 + - 2.18 + - 2.18 + - 2.21 + - 2.23 + - 2.24 + - 2.24 + - 2.25 + - 1.8 + - 2.24 + - 1.73 + - 1.73 + - 2.27 + - 1.67 + - 2.21 + - 1.72 + - 2.23 + - 2.23 + - 2.23 + - 2.24 + - 2.23 + - 2.12 + - 2.17 + - 1.74 + - 2.02 + - 1.88 + - 1.67 + - 1.73 + - 1.83 + - 1.82 + - 1.73 + - 1.83 + - 2.19 + - 1.84 + - 1.89 + - 1.6 + - 1.71 + - 1.86 + - 1.85 + - 1.84 + - 1.87 + - 1.91 + - 1.52 + - 1.95 + - 1.87 + - 1.89 + - 1.91 + - 1.91 + - 1.93 + - 1.9 + - 1.91 + - 1.9 + - 1.89 + - 1.89 + - 1.91 + - 1.9 + - 1.91 + - 1.91 + - 1.91 + - 1.93 + - 1.94 + - 1.91 + - 1.92 + - 1.77 + - 1.91 + - 1.95 + - 1.19 + - 1.96 + - 1.98 + - 1.94 + - 1.55 + - 1.91 + - 1.92 + - 1.92 + - 1.97 + - 1.93 + - 1.99 + - 1.86 + - 1.12 + - 1.93 + - 1.92 + - 1.95 + - 1.85 + - 1.84 + - 1.91 + - 1.12 + - 1.82 + - 1.82 + - 1.95 + - 1.24 + - 1.94 + - 1.96 + - 1.21 + - 1.83 + - 1.96 + - 1.36 + - 1.96 + - 1.82 + - 1.92 + - 1.68 + - 1.93 + - 1.23 + - 1.96 + - 1.93 + - 1.86 + - 1.41 + - 1.16 + - 1.6 + - 1.25 + - 1.2 + - 1.65 + - 1.66 + - 1.87 + - 1.94 + - 1.96 + - 1.91 + - 1.25 + - 1.93 + - 1.91 + - 1.7 + - 0.99 + - 1.81 + - 1.92 + - 1.95 + - 1.5 + - 1.47 + - 1.15 + - 1.58 + - 1.18 + - 1.82 + - 1.13 + - 1.83 + - 1.91 + - 1.26 + - 1.27 + - 1.91 + - 1.45 + - 1.6 + - 1.29 + - 1.94 + - 1.94 + - 1.23 + - 1.95 + - 1.21 + - 1.94 + - 1.86 + - 1.9 + - 1.33 + - 1.75 + - 2.02 + - 1.98 + - 2.03 + - 1.83 + - 1.5 + - 2.04 + - 2.02 + - 1.9 + - 2.0 + - 2.02 + - 1.95 + - 1.93 + - 1.95 + - 1.95 + - 1.99 + - 2.0 + - 1.94 + - 1.96 + - 1.86 + - 1.92 + - 1.88 + - 1.86 + - 1.84 + - 1.87 + - 1.77 + - 1.89 + - 1.89 + - 1.88 + - 1.94 + - 1.82 + - 1.79 + - 1.86 + - 2.06 + - 2.33 + - 1.88 + - 1.86 + - 1.81 + - 1.8 + - 1.8 + - 1.86 + - 1.9 + - 2.0 + - 2.06 + - 2.1 + - 2.2 + - 2.0 + - 2.16 + - 1.98 + - 1.8 + - 1.8 + - 1.85 + - 1.75 + - 2.04 + - 2.19 + - 2.14 + - 2.19 + - 1.86 + - 2.1 + - 2.11 + - 2.18 + - 2.03 + - 2.28 + - 2.19 + - 2.26 + - 2.26 + - 2.21 + - 2.21 + - 2.26 + - 2.33 + - 2.27 + - 2.21 + - 2.12 + - 2.23 + - 2.26 + - 2.25 + - 1.88 + - 2.26 + - 2.24 + - 2.36 + - 2.29 + - 2.35 + - 2.3 + - 2.27 + - 2.08 + - 2.05 + - 2.27 + - 2.28 + - 2.27 + - 2.28 + - 1.97 + - 2.25 + - 2.25 + - 2.25 + - 2.31 + - 2.28 + - 2.27 + - 2.13 + - 2.24 + - 2.28 + - 2.28 + - 2.41 + - 2.34 + - 9.32 + - 2.28 + - 2.38 + - 2.27 + - 2.27 + - 2.39 + - 2.11 + - 2.09 + - 2.1 + - 2.06 + - 2.12 + - 2.08 + - 2.0 + - 1.93 + - 2.02 + - 2.55 + - 1.54 + - 1.64 + - 1.51 + - 1.55 + - 2.82 + - 2.92 + - 2.55 + - 2.37 + - 1.85 + - 1.6 + - 1.72 + - 1.74 + - 1.79 + - 1.9 + - 1.94 + - 2.0 + - 2.04 + - 2.08 + - 2.12 + - 2.13 + - 2.16 + - 2.18 + - 2.18 + - 2.2 + - 2.2 + - 2.41 + - 2.39 + - 2.38 + - 2.4 + - 2.42 + - 2.41 + - 2.43 + - 2.45 + - 2.43 + - 2.45 + - 2.43 + - 2.4 + - 2.44 + - 2.4 + - 2.42 + - 2.43 + - 2.45 + - 2.45 + - 2.45 + - 2.46 + - 2.45 + - 2.45 + - 2.43 + - 2.51 + - 2.48 + - 2.48 + - 2.53 + - 2.46 + - 2.49 + - 2.5 + - 2.5 + - 2.5 + - 2.52 + - 2.52 + - 2.54 + - 2.5 + - 2.48 + - 2.5 + - 2.55 + - 2.5 + - 2.48 + - 2.5 + - 2.5 + - 2.52 + - 2.52 + - 2.48 + - 2.5 + - 2.5 + - 2.52 + - 2.46 + - 2.53 + - 9.0 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 7024, 7027, 7029, 7032, 7038, 7043, 7046, 7049, 7069, 7072, 7076, + 7081, 7084, 7089, 7099, 7209, 7222, 7231, 7235, 7247, 7267, 7269, 7284, + 7389, 7419, 7423, 7424, 7426, 7428, 7431, 7436, 7444, 7475, 7549, 7584, + 7665, 7666, 7831, 7836, 7853, 7865, 7885, 7888, 7912, 7950, 7972, 7980, + 7995, 8007, 8015, 8055, 8078 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: iasi_metop-c + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + error parameter vector: *id017 + use_flag: None + use_flag_clddet: &id018 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + error parameter vector: *id017 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: iasi_metop-c + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + error parameter vector: *id017 + obserr_bound_max: + - 3.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 4.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 4.0 + - 4.0 + - 3.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.75 + - 2.0 + - 0.75 + - 2.0 + - 2.0 + - 2.0 + - 0.75 + - 0.75 + - 0.75 + - 0.75 + - 2.0 + - 0.75 + - 0.75 + - 2.0 + - 0.75 + - 0.75 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 2.0 + - 2.5 + - 2.5 + - 3.0 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 3.5 + - 2.5 + - 2.5 + - 3.0 + - 3.5 + - 3.0 + - 4.0 + - 4.0 + - 0.75 + - 4.0 + - 4.0 + - 4.0 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.0 + - 4.5 + - 4.0 + - 4.0 + - 4.5 + - 2.5 + - 3.0 + - 2.5 + - 3.0 + - 2.5 + - 3.0 + - 2.0 + - 2.5 + - 2.5 + - 3.0 + - 3.0 + - 2.5 + - 3.0 + - 3.0 + - 3.0 + - 2.5 + - 2.5 + - 4.0 + - 4.5 + - 4.5 + - 5.0 + - 4.0 + - 4.0 + - 5.0 + - 5.0 + - 5.0 + - 5.0 + - 5.5 + - 5.5 + - 4.0 + - 5.0 + - 4.0 + - 4.5 + - 5.5 + - 5.5 + - 6.0 + - 4.5 + - 4.5 + - 4.0 + - 5.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.25 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.25 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.4 + - 6.0 + - 1.4 + - 6.0 + - 6.0 + - 1.4 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.5 + - 4.5 + - 6.0 + - 5.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 4.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 4.5 + - 6.0 + - 6.0 + - 4.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id018 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: iasi_metop-c + - obs space: + name: MHS METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mhs_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mhs_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: mhs_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/mhs_metop-b.20231009T150000Z.satbias.nc4 + output file: cycle_dir/mhs_metop-b.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/mhs_metop-b.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/mhs_metop-b.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/mhs_metop-b.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/mhs_metop-b.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 550.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: mhs_metop-b + use_flag: None + minvalue: 1e-12 + action: + name: reject + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 10 + maxvalue: 81 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1-3 + where: + - variable: + name: MetaData/latitude + minvalue: -25.0 + maxvalue: -10.0 + - variable: + name: MetaData/longitude + minvalue: 260.0 + maxvalue: 300.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/surface_snow_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/ice_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + maxvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: mhs_metop-b + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-b + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-b + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-b + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-b + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + observation_name: mhs_metop-b + - obs space: + name: MHS METOP-C + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mhs_metop-c.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mhs_metop-c.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: mhs_metop-c + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/mhs_metop-c.20231009T150000Z.satbias.nc4 + output file: cycle_dir/mhs_metop-c.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/mhs_metop-c.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/mhs_metop-c.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/mhs_metop-c.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/mhs_metop-c.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 550.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: mhs_metop-c + use_flag: None + minvalue: 1e-12 + action: + name: reject + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 10 + maxvalue: 81 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1-3 + where: + - variable: + name: MetaData/latitude + minvalue: -25.0 + maxvalue: -10.0 + - variable: + name: MetaData/longitude + minvalue: 260.0 + maxvalue: 300.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/surface_snow_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/ice_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + maxvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: mhs_metop-c + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-c + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-c + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-c + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-c + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + observation_name: mhs_metop-c + - obs space: + name: MHS NOAA-19 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mhs_n19.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mhs_n19.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: mhs_n19 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/mhs_n19.20231009T150000Z.satbias.nc4 + output file: cycle_dir/mhs_n19.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/mhs_n19.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/mhs_n19.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/mhs_n19.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/mhs_n19.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 550.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: mhs_n19 + use_flag: None + minvalue: 1e-12 + action: + name: reject + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 10 + maxvalue: 81 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1-3 + where: + - variable: + name: MetaData/latitude + minvalue: -25.0 + maxvalue: -10.0 + - variable: + name: MetaData/longitude + minvalue: 260.0 + maxvalue: 300.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/surface_snow_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/ice_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + maxvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: mhs_n19 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_n19 + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_n19 + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_n19 + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_n19 + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + observation_name: mhs_n19 + - obs space: + name: MLS55 AURA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mls55_aura.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mls55_aura.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - ozoneProfile + obs operator: + name: VertInterp + vertical coordinate: air_pressure + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + obs filters: + - filter: Bounds Check + filter variables: + - name: ozoneProfile + minvalue: 0 + maxvalue: 10000 + action: + name: reject + - filter: Background Check + filter variables: + - name: ozoneProfile + threshold: 5.0 + action: + name: reject + observation_name: mls55_aura + - obs space: + name: OMI AURA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/omi_aura.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.omi_aura.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - ozoneTotal + obs operator: + name: AtmVertInterpLay + geovals: + - mole_fraction_of_ozone_in_air + coefficients: + - 0.0078976797 + nlevels: + - 1 + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + obs filters: + - filter: Perform Action + filter variables: + - name: ozoneTotal + action: + name: assign error + error parameter: 5.0 + - filter: Bounds Check + filter variables: + - name: ozoneTotal + minvalue: 0 + maxvalue: 1000 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: ozoneTotal + test variables: + - name: MetaData/solarZenithAngle + maxvalue: 84.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: ozoneTotal + test variables: + - name: MetaData/sensorScanPosition + minvalue: 3 + maxvalue: 24 + action: + name: reject + - filter: Background Check + filter variables: + - name: ozoneTotal + threshold: 5.0 + action: + name: reject + observation_name: omi_aura + - obs space: + name: OMPSNM NPP + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/ompsnm_npp.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.ompsnm_npp.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - ozoneTotal + obs operator: + name: AtmVertInterpLay + geovals: + - mole_fraction_of_ozone_in_air + coefficients: + - 0.0078976797 + nlevels: + - 1 + obs filters: + - filter: Perform Action + filter variables: + - name: ozoneTotal + action: + name: assign error + error parameter: 5.216 + - filter: Bounds Check + filter variables: + - name: ozoneTotal + minvalue: 0 + maxvalue: 1000 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: ozoneTotal + test variables: + - name: MetaData/solarZenithAngle + maxvalue: 84.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: ozoneTotal + threshold: 5.0 + action: + name: reject + observation_name: ompsnm_npp + - obs space: + name: Pilot Balloon + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/pibal.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.pibal.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + vertical coordinate backup: air_pressure + observation vertical coordinate group backup: MetaData + observation vertical coordinate backup: pressure + interpolation method backup: log-linear + hofx scaling field: SurfaceWindScalingCombined + hofx scaling field group: DerivedVariables + linear obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + vertical coordinate backup: air_pressure + observation vertical coordinate group backup: MetaData + observation vertical coordinate backup: pressure + interpolation method backup: log-linear + hofx scaling field: SurfaceWindScalingCombined + hofx scaling field group: DerivedVariables + obs pre filters: + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_not_in: 221 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_not_in: 221 + action: + name: reject + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingCombined + SkipWhenNoObs: false + obs post filters: + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -135 + maxvalue: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.6 + - 1.7 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.2 + - 2.2 + - 2.3 + - 2.3 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.5 + - 2.7 + - 2.9 + - 3.1 + - 3.3 + - 3.5 + - 3.7 + - 3.9 + - 4.1 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: assign error + error function: GsiAdjustObsError/windEastward + where: + - variable: + name: GsiAdjustObsError/windEastward + value: is_valid + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: assign error + error function: GsiAdjustObsError/windNorthward + where: + - variable: + name: GsiAdjustObsError/windNorthward + value: is_valid + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 221 + cgross: + - 8.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windEastward + action: + name: reject + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 221 + cgross: + - 8.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windNorthward + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + test variables: + - name: ObsErrorData/windEastward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windEastward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windEastward + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windNorthward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windNorthward + defer to post: true + - filter: Bounds Check + filter variables: + - name: windNorthward + test variables: + - name: ObsErrorData/windNorthward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 221 + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 221 + defer to post: true + observation_name: pibal + - obs space: + name: Satellite Winds + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/satwind.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.satwind.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + obs operator: + name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + linear obs operator: + name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + obs prior filters: + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + obs post filters: + - filter: PreQC + maxvalue: 3 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 80000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - filter: BlackList + where: + - variable: + name: ObsType/windEastward + is_in: 240, 241, 248, 249, 251, 255, 256, 260 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.45 + - 5 + - 5 + - 5 + - 5.075 + - 5.175 + - 5.3 + - 5.675 + - 6.05 + - 6.25 + - 6.625 + - 7 + - 7 + - 7 + - 7 + where: + - variable: + name: ObsType/windEastward + is_in: 244 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.9 + - 3.9 + - 4.0 + - 4.0 + - 4.1 + - 5 + - 6 + - 6.3 + - 6.6 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + where: + - variable: + name: ObsType/windEastward + is_in: 245, 246 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.9 + - 3.9 + - 4.0 + - 4.0 + - 4.1 + - 5 + - 6 + - 6.3 + - 6.6 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + where: + - variable: + name: ObsType/windEastward + is_in: 242, 243, 247, 252, 253 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.9 + - 3.9 + - 4.0 + - 4.5 + - 6.1 + - 6.0 + - 6.5 + - 7.3 + - 7.6 + - 7 + - 7.5 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + where: + - variable: + name: ObsType/windEastward + is_in: 254 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.9 + - 3.9 + - 4.0 + - 4.0 + - 4.1 + - 5.0 + - 7 + - 7.3 + - 7.6 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + where: + - variable: + name: ObsType/windEastward + is_in: 250 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.675 + - 5.45 + - 5.525 + - 5.8 + - 6.275 + - 6.575 + - 6.825 + - 7.05 + - 7.05 + - 7.05 + - 7.05 + where: + - variable: + name: ObsType/windEastward + is_in: 257 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 6.05 + - 5.625 + - 5.275 + - 5.375 + - 5.925 + - 6.475 + - 6.775 + - 7.05 + - 7.05 + - 7.05 + - 7.05 + where: + - variable: + name: ObsType/windEastward + is_in: 258 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6 + - 5.5 + - 5.5 + - 5.575 + - 6.025 + - 6.4 + - 6.775 + - 7.15 + - 7.15 + - 7.15 + - 7.15 + where: + - variable: + name: ObsType/windEastward + is_in: 259 + - filter: Difference Check + filter variables: + - name: windEastward + - name: windNorthward + reference: GeoVaLs/air_pressure_at_surface + value: MetaData/pressure + maxvalue: -11000 + where: + - variable: + name: ObsType/windEastward + is_in: 247 + - variable: + name: MetaData/surfaceQualifier + minvalue: 1 + - filter: Difference Check + filter variables: + - name: windEastward + - name: windNorthward + reference: GeoVaLs/air_pressure_at_surface + value: MetaData/pressure + maxvalue: -20000 + where: + - variable: + name: ObsType/windEastward + is_in: 244, 257, 258, 259, 260 + - variable: + name: MetaData/surfaceQualifier + minvalue: 1 + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/WindDirAngleDiff + maxvalue: 50.0 + where: + - variable: + name: ObsType/windEastward + is_in: 247 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/SatWindsLNVDCheck + maxvalue: 3 + where: + - variable: + name: ObsType/windEastward + is_in: 244, 247, 257-260 + action: + name: reject + - filter: BlackList + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 240-260 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: BlackList + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 240-260 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + error_min: + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 15.0 + - 15.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.1 + - 20.1 + - 20.1 + - 20.1 + - 20.1 + cgross: + - 2.5 + - 2.5 + - 2.5 + - 1.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 1.3 + - 2.5 + - 1.5 + - 1.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + wndtype: + - 240 + - 241 + - 242 + - 243 + - 244 + - 245 + - 246 + - 247 + - 248 + - 249 + - 250 + - 251 + - 252 + - 253 + - 254 + - 256 + - 257 + - 258 + - 259 + - 260 + variable: windEastward + action: + name: reject + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + cgross: + - 2.5 + - 2.5 + - 2.5 + - 1.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 1.3 + - 2.5 + - 1.5 + - 1.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + error_min: + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 15.0 + - 15.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.1 + - 20.1 + - 20.1 + - 20.1 + - 20.1 + wndtype: + - 240 + - 241 + - 242 + - 243 + - 244 + - 245 + - 246 + - 247 + - 248 + - 249 + - 250 + - 251 + - 252 + - 253 + - 254 + - 256 + - 257 + - 258 + - 259 + - 260 + variable: windNorthward + action: + name: reject + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 240-260 + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 240-260 + defer to post: true + observation_name: satwind + - obs space: + name: Scatterometer Winds + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/scatwind.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.scatwind.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + obs operator: + name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + linear obs operator: + name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + obs post filters: + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -135 + maxvalue: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + errors: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: BlackList + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 290 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: BlackList + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 290 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/ScatWindsAmbiguityCheck + maxvalue: 1e-12 + where: + - variable: + name: ObsType/windEastward + is_in: 290 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/Arithmetic + options: + variables: + - name: ObsValue/windEastward + - name: HofX/windEastward + coefs: + - 1.0 + - -1.0 + minvalue: -5.0 + maxvalue: 5.0 + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/Arithmetic + options: + variables: + - name: ObsValue/windNorthward + - name: HofX/windNorthward + coefs: + - 1.0 + - -1.0 + minvalue: -5.0 + maxvalue: 5.0 + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 290 + cgross: + - 5.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windEastward + action: + name: reject + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 290 + cgross: + - 5.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windNorthward + action: + name: reject + defer to post: true + observation_name: scatwind + - obs space: + name: Surface Marine Stations + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sfcship.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sfcship.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + - virtualTemperature + - airTemperature + - specificHumidity + - stationPressure + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: SfcCorrected + variables: + - name: stationPressure + correction scheme to use: GSL + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - name: Identity + variables: + - name: specificHumidity + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: Identity + variables: + - name: stationPressure + - name: specificHumidity + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + obs post filters: + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: PreUseFlag/stationPressure + minvalue: 1 + action: + name: reject + - filter: RejectList + where: + - variable: + name: PreQC/stationPressure + is_in: 4-15 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + errors: + - 100 + - 100 + - 110 + - 120 + - 120 + - 100000000000.0 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + action: + name: inflate error + inflation factor: 0.7 + where: + - variable: ObsType/stationPressure + is_in: + - 180 + - variable: ObsSubType/stationPressure + is_in: + - 0 + - filter: Perform Action + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + options: + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/stationPressure + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 100 + where: + - variable: + name: TempObsErrorData/stationPressure + maxvalue: 100 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 300 + where: + - variable: + name: TempObsErrorData/stationPressure + minvalue: 300 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 4.0 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + - variable: ObsType/stationPressure + is_in: 180,183 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.8 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - variable: ObsType/stationPressure + is_in: 180,183 + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: TempObsErrorData/stationPressure + where: + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: false + variable: stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: + - 183 + action: + name: reject + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + errors: + - 1.75 + - 1.95 + - 2.25 + - 1.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - airTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/airTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: GsiAdjustObsError/airTemperature + where: + - variable: + name: GsiAdjustObsError/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/airTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/airTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/airTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreUseFlag/airTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 7.0 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 4.9 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: TempObsErrorData/airTemperature + where: + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: airTemperature + defer to post: true + - filter: Bounds Check + filter variables: + - name: airTemperature + test variables: + - name: ObsErrorData/airTemperature + maxvalue: 100000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: + - 183 + action: + name: reject + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + errors: + - 1.75 + - 1.95 + - 2.25 + - 1.0 + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - virtualTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: GsiAdjustObsError/virtualTemperature + where: + - variable: + name: GsiAdjustObsError/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: virtualTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/virtualTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/virtualTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/virtualTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/virtualTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: PreUseFlag/virtualTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 7.0 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 4.9 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: TempObsErrorData/virtualTemperature + where: + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: virtualTemperature + defer to post: true + - filter: Bounds Check + filter variables: + - name: virtualTemperature + test variables: + - name: ObsErrorData/virtualTemperature + maxvalue: 100000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: PreUseFlag/specificHumidity + minvalue: 1 + action: + name: reject + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: + - 183 + action: + name: reject + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorSatSpecHumidity + options: + variable: specificHumidity + input_error_name: GsiInputObsError + - filter: BlackList + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: specificHumidity + inflation factor: 8 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: specificHumidity + threshold: 8.0 + action: + name: reject + where: + - variable: PreQC/specificHumidity + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: specificHumidity + threshold: 5.6 + action: + name: reject + where: + - variable: PreQC/specificHumidity + is_in: + - 3 + defer to post: true + - filter: BlackList + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: specificHumidity + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: + - 284 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: + - 284 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: ObsType/windEastward + is_in: + - 280 + action: + name: assign error + error parameter: 2.5 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: ObsType/windEastward + is_in: + - 282 + action: + name: assign error + error parameter: 2.2 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + minvalue: 1 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + minvalue: 1 + action: + name: reject + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + threshold: 6.0 + action: + name: reject + where: + - variable: PreQC/windEastward + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windEastward + threshold: 4.2 + action: + name: reject + where: + - variable: PreQC/windEastward + is_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + threshold: 6.0 + action: + name: reject + where: + - variable: PreQC/windNorthward + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + threshold: 4.2 + action: + name: reject + where: + - variable: PreQC/windNorthward + is_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + satwndtype: + - 280 + - 282 + - 284 + error_min: + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + cgross: + - 6.0 + - 6.0 + - 6.0 + wndtype: + - 280 + - 282 + - 284 + variable: windEastward + action: + name: reject + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + satwndtype: + - 280 + - 282 + - 284 + error_min: + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + cgross: + - 6.0 + - 6.0 + - 6.0 + wndtype: + - 280 + - 282 + - 284 + variable: windNorthward + action: + name: reject + defer to post: true + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + defer to post: true + observation_name: sfcship + - obs space: + name: Surface Land Stations + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sfc.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sfc.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + - virtualTemperature + - airTemperature + - specificHumidity + - stationPressure + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: SfcCorrected + variables: + - name: stationPressure + correction scheme to use: GSL + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: specificHumidity + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: stationPressure + - name: specificHumidity + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + obs post filters: + - filter: Bounds Check + filter variables: + - name: stationPressure + minvalue: 49999 + action: + name: reject + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: PreUseFlag/stationPressure + minvalue: 1 + action: + name: reject + - filter: RejectList + where: + - variable: + name: PreQC/stationPressure + is_in: 4-15 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 181 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 70000 + - 65000 + - 60000 + - 55000 + errors: + - 100 + - 120 + - 120 + - 100000000000.0 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 187 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + errors: + - 100 + - 130 + - 160 + - 100000000000.0 + - filter: Perform Action + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + options: + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/stationPressure + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 100 + where: + - variable: + name: TempObsErrorData/stationPressure + maxvalue: 100 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 300 + where: + - variable: + name: TempObsErrorData/stationPressure + minvalue: 300 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 4.0 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + - variable: ObsType/stationPressure + is_in: 187 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.8 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - variable: ObsType/stationPressure + is_in: 187 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 3.6 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + - variable: ObsType/stationPressure + is_in: + - 181 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.52 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - variable: ObsType/stationPressure + is_in: + - 181 + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: TempObsErrorData/stationPressure + where: + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: false + variable: stationPressure + defer to post: true + - filter: Bounds Check + filter variables: + - name: stationPressure + test variables: + - name: ObsErrorData/stationPressure + maxvalue: 100000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 181,187 + action: + name: reject + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 181,187 + action: + name: reject + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: 181,187 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 281,287 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 281,287 + action: + name: reject + observation_name: sfc + - obs space: + name: Radiosondes + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sondes.20231009T210000Z.nc4 + missing file action: error + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sondes.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + - virtualTemperature + - airTemperature + - specificHumidity + - stationPressure + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + - name: VertInterp + variables: + - name: airTemperature + - name: virtualTemperature + - name: specificHumidity + - name: SfcCorrected + variables: + - name: stationPressure + correction scheme to use: GSL + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + - name: VertInterp + variables: + - name: airTemperature + - name: virtualTemperature + - name: specificHumidity + - name: Identity + variables: + - name: stationPressure + obs prior filters: + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + obs post filters: + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: PreUseFlag/stationPressure + minvalue: 1 + action: + name: reject + - filter: RejectList + where: + - variable: + name: PreQC/stationPressure + is_in: 4-15 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 60000 + - 55000 + errors: + - 100 + - 100000000000.0 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + options: + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/stationPressure + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 100 + where: + - variable: + name: TempObsErrorData/stationPressure + maxvalue: 100 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 300 + where: + - variable: + name: TempObsErrorData/stationPressure + minvalue: 300 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 4.0 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.8 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: TempObsErrorData/stationPressure + where: + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: false + variable: stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: PreUseFlag/specificHumidity + minvalue: 1 + action: + name: reject + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + action: + name: assign error + error function: + name: ObsFunction/ObsErrorSatSpecHumidity + options: + variable: specificHumidity + input_error_name: GsiInputObsError + - filter: BlackList + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: specificHumidity + inflation factor: 8.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/specificHumidity + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/specificHumidity + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: specificHumidity + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 70000 + - 65000 + - 60000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + errors: + - 1.3 + - 1.1 + - 0.9 + - 0.7 + - 0.6 + - 0.6 + - 0.55 + - 0.5 + - 0.5 + - 0.55 + - 0.65 + - 1.1 + - 1.2 + - 1.2 + - 1.4 + - 1.6 + - 1.85 + - 2.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - airTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/airTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: GsiAdjustObsError/airTemperature + where: + - variable: + name: GsiAdjustObsError/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/airTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/airTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/airTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreUseFlag/airTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 8.0 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 5.6 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: TempObsErrorData/airTemperature + where: + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 70000 + - 65000 + - 60000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + errors: + - 1.3 + - 1.1 + - 0.9 + - 0.7 + - 0.6 + - 0.6 + - 0.55 + - 0.5 + - 0.5 + - 0.55 + - 0.65 + - 1.1 + - 1.2 + - 1.2 + - 1.4 + - 1.6 + - 1.85 + - 2.0 + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - virtualTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: GsiAdjustObsError/virtualTemperature + where: + - variable: + name: GsiAdjustObsError/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: virtualTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/virtualTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/virtualTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/virtualTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/virtualTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: PreUseFlag/virtualTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 8.0 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 5.6 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: TempObsErrorData/virtualTemperature + where: + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: virtualTemperature + defer to post: true + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -135 + maxvalue: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.6 + - 1.7 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.2 + - 2.2 + - 2.3 + - 2.3 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.5 + - 2.7 + - 2.9 + - 3.1 + - 3.3 + - 3.5 + - 3.7 + - 3.9 + - 4.1 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: assign error + error function: GsiAdjustObsError/windEastward + where: + - variable: + name: GsiAdjustObsError/windEastward + value: is_valid + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: assign error + error function: GsiAdjustObsError/windNorthward + where: + - variable: + name: GsiAdjustObsError/windNorthward + value: is_valid + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 220,221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 220,221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 220 + - 221 + cgross: + - 8.0 + - 8.0 + error_min: + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + variable: windEastward + action: + name: reject + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 220 + - 221 + cgross: + - 8.0 + - 8.0 + error_min: + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + variable: windNorthward + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + test variables: + - name: ObsErrorData/windEastward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windEastward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windEastward + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windNorthward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windNorthward + defer to post: true + - filter: Bounds Check + filter variables: + - name: windNorthward + test variables: + - name: ObsErrorData/windNorthward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 220 + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 220 + defer to post: true + observation_name: sondes + - obs space: + name: ssmis_f17 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/ssmis_f17.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.ssmis_f17.20231009T210000Z.nc4 + simulated variables: + - brightnessTemperature + channels: None + io pool: + max pool size: 6 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs options: + Sensor_ID: ssmis_f17 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + obs bias: + input file: cycle_dir/ssmis_f17.20231009T150000Z.satbias.nc4 + output file: cycle_dir/ssmis_f17.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/ssmis_f17.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/ssmis_f17.20231009T150000Z.tlapse.txt + - name: cosineOfLatitudeTimesOrbitNode + - name: sineOfLatitude + - name: emissivityJacobian + - name: sensorScanAngle + var_name: sensorScanPosition + order: 4 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 3 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 2 + - name: sensorScanAngle + var_name: sensorScanPosition + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/ssmis_f17.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/ssmis_f17.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 1.0 + - 1.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 2.4 + - 1.27 + - 1.44 + - 3.0 + - 1.34 + - 1.74 + - 3.75 + - 3.0 + - 3.0 + - 2.0 + - 6.4 + - 1.0 + - 1.0 + obs post filters: + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + absolute threshold: 3.5 + remove bias correction: true + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: reject + - filter: RejectList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/geopotential_height_at_surface + minvalue: 2000.0 + min_exclusive: true + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + - filter: RejectList + filter variables: + - name: brightnessTemperature + channels: 1-3,8-18 + where: + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + max_exclusive: true + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + - variable: + name: GeoVaLs/ice_area_fraction + maxvalue: 0.99 + max_exclusive: true + - variable: + name: GeoVaLs/surface_snow_area_fraction + maxvalue: 0.99 + max_exclusive: true + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 1-2, 12-16 + reference: ObsValue/brightnessTemperature_2 + value: HofX/brightnessTemperature_2 + minvalue: -1.5 + maxvalue: 1.5 + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + absolute threshold: 3.5 + remove bias correction: true + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + action: + name: reject + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 9 + reference: ObsValue/brightnessTemperature_9 + value: + name: ObsFunction/Arithmetic + options: + variables: + - name: HofX/brightnessTemperature_17 + - name: ObsBiasData/brightnessTemperature_17 + - name: HofX/brightnessTemperature_8 + - name: ObsBiasData/brightnessTemperature_8 + coefs: + - -0.485934 + - 0.485934 + - 0.473806 + - -0.473806 + intercept: 271.252327 + maxvalue: 2 + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 10 + reference: ObsValue/brightnessTemperature_10 + value: + name: ObsFunction/Arithmetic + options: + variables: + - name: HofX/brightnessTemperature_17 + - name: ObsBiasData/brightnessTemperature_17 + - name: HofX/brightnessTemperature_8 + - name: ObsBiasData/brightnessTemperature_8 + coefs: + - -0.413688 + - 0.413688 + - 0.361549 + - -0.361549 + intercept: 272.280341 + maxvalue: 2 + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 11 + reference: ObsValue/brightnessTemperature_11 + value: + name: ObsFunction/Arithmetic + options: + variables: + - name: HofX/brightnessTemperature_17 + - name: ObsBiasData/brightnessTemperature_17 + - name: HofX/brightnessTemperature_8 + - name: ObsBiasData/brightnessTemperature_8 + coefs: + - -0.400882 + - 0.400882 + - 0.27051 + - -0.27051 + intercept: 278.824902 + maxvalue: 2 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: ssmis_f17 + obserr_demisf: + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + obserr_dtempf: + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor1 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_1 + coefs: + - 2.25 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_1 + threshold: DerivedMetaData/errorInflationFactor1 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor2 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_2 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_2 + threshold: DerivedMetaData/errorInflationFactor2 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor3 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_3 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_3 + threshold: DerivedMetaData/errorInflationFactor3 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor4 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_4 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_4 + threshold: DerivedMetaData/errorInflationFactor4 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor5 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_5 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_5 + threshold: DerivedMetaData/errorInflationFactor5 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor6 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_6 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_6 + threshold: DerivedMetaData/errorInflationFactor6 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor7 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_7 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_7 + threshold: DerivedMetaData/errorInflationFactor7 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor8 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_8 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_8 + threshold: DerivedMetaData/errorInflationFactor8 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor9 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_9 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_9 + threshold: DerivedMetaData/errorInflationFactor9 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor10 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_10 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_10 + threshold: DerivedMetaData/errorInflationFactor10 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor11 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_11 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_11 + threshold: DerivedMetaData/errorInflationFactor11 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor12 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_12 + coefs: + - 3.6 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_12 + threshold: DerivedMetaData/errorInflationFactor12 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor13 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_13 + coefs: + - 1.905 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_13 + threshold: DerivedMetaData/errorInflationFactor13 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor14 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_14 + coefs: + - 2.16 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_14 + threshold: DerivedMetaData/errorInflationFactor14 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor15 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_15 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_15 + threshold: DerivedMetaData/errorInflationFactor15 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor16 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_16 + coefs: + - 2.01 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_16 + threshold: DerivedMetaData/errorInflationFactor16 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor17 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_17 + coefs: + - 2.61 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_17 + threshold: DerivedMetaData/errorInflationFactor17 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor18 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_18 + coefs: + - 5.625 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_18 + threshold: DerivedMetaData/errorInflationFactor18 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor19 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_19 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_19 + threshold: DerivedMetaData/errorInflationFactor19 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor20 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_20 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_20 + threshold: DerivedMetaData/errorInflationFactor20 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor21 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_21 + coefs: + - 3.0 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_21 + threshold: DerivedMetaData/errorInflationFactor21 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor22 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_22 + coefs: + - 9.6 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_22 + threshold: DerivedMetaData/errorInflationFactor22 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor23 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_23 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_23 + threshold: DerivedMetaData/errorInflationFactor23 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor24 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_24 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_24 + threshold: DerivedMetaData/errorInflationFactor24 + absolute threshold: 6.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: ssmis_f17 +variational: + minimizer: + algorithm: DRPCG + iterations: + - geometry: + fms initialization: + namelist filename: ./fv3-jedi/fv3files/fmsmpp.nml + field table filename: ./fv3-jedi/fv3files/field_table_gmao + akbk: ./fv3-jedi/fv3files/akbk72.nc4 + layout: + - 4 + - 4 + npx: 91 + npy: 91 + npz: 72 + gradient norm reduction: 0.0001 + ninner: 5 + diagnostics: + departures: ombg + online diagnostics: + write increment: true + increment: + state component: + filetype: auxgrid + gridtype: latlon + datapath: ./ + filename: experiment_id.increment-iter1. + field io names: + eastward_wind: ua + northward_wind: va + air_temperature: t + air_pressure_levels: pe + water_vapor_mixing_ratio_wrt_moist_air: q + cloud_liquid_ice: qi + cloud_liquid_water: ql + rain_water: qr + snow_water: qs + mole_fraction_of_ozone_in_air: o3ppmv + geopotential_height_times_gravity_at_surface: phis + skin_temperature_at_surface: ts + air_pressure_at_surface: ps +final: + diagnostics: + departures: oman + prints: + frequency: PT3H +output: + filetype: cube sphere history + provider: geos + datapath: cycle_dir + filename: experiment_id.analysis.%yyyy%mm%dd_%hh%MM%ssz.nc4 + first: PT0H + frequency: PT1H + field io names: *id019 diff --git a/src/swell/test/jedi_configs/jedi_3dvar_cf_config.yaml b/src/swell/test/jedi_configs/jedi_3dvar_cf_config.yaml new file mode 100644 index 000000000..a319e2227 --- /dev/null +++ b/src/swell/test/jedi_configs/jedi_3dvar_cf_config.yaml @@ -0,0 +1,179 @@ +cost function: + cost type: 3D-Var + jb evaluation: false + time window: + begin: '2023-08-05T15:00:00Z' + end: '2023-08-05T21:00:00Z' + bound to include: begin + geometry: + fms initialization: + namelist filename: cycle_dir/fmsmpp.nml + field table filename: cycle_dir/field_table_gmao + akbk: cycle_dir/akbk72.nc4 + layout: + - 2 + - 2 + npx: 91 + npy: 91 + npz: 72 + analysis variables: + - volume_mixing_ratio_of_no2 + background: + datetime: '2023-08-05T18:00:00Z' + filetype: cube sphere history + provider: geos + max allowable geometry difference: 0.1 + datapath: cycle_dir + filename: bkg.%yyyy%mm%ddT%hh%MM%ssZ.nc4 + state variables: + - air_pressure_thickness + - air_pressure_at_surface + - volume_mixing_ratio_of_no2 + - volume_mixing_ratio_of_no + - volume_mixing_ratio_of_o3 + - volume_mixing_ratio_of_co + field io names: &id001 + eastward_wind: ua + northward_wind: va + air_temperature: T + air_pressure_at_surface: PS + air_pressure_thickness: DELP + volume_mixing_ratio_of_no2: NO2 + volume_mixing_ratio_of_no: "NO" + volume_mixing_ratio_of_o3: O3 + volume_mixing_ratio_of_co: CO + background error: + covariance model: SABER + saber central block: + saber block name: ID + observations: + get values: + observers: + - obs space: + name: tempo_no2_tropo + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/tempo_no2_tropo.20230805T150000Z.nc4 + obsdataout: + engine: + type: H5File + allow overwrite: true + obsfile: cycle_dir/experiment_id.tempo_no2_tropo.20230805T150000Z.nc4 + simulated variables: + - nitrogendioxideColumn + observed variables: + - nitrogendioxideColumn + monitoring only: false + obs filters: + - filter: RejectList + where: + - variable: + name: MetaData/cloud_fraction + minvalue: 0.15 + - filter: RejectList + where: + - variable: + name: MetaData/solar_zenith_angle + minvalue: 70 + obs operator: + name: ColumnRetrieval + nlayers_retrieval: 72 + tracer variables: + - volume_mixing_ratio_of_no2 + isApriori: false + isAveragingKernel: true + stretchVertices: topbottom + observation_name: tempo_no2_tropo + - obs space: + name: tropomi_s5p_no2_tropo + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/tropomi_s5p_no2_tropo.20230805T150000Z.nc4 + obsdataout: + engine: + type: H5File + allow overwrite: true + obsfile: cycle_dir/experiment_id.tropomi_s5p_no2_tropo.20230805T150000Z.nc4 + simulated variables: + - nitrogendioxideColumn + observed variables: + - nitrogendioxideColumn + obs filters: + - filter: Domain Check + filter variables: + - name: nitrogendioxideColumn + where: + - variable: + name: MetaData/latitude + minvalue: -65 + maxvalue: 65 + obs operator: + name: ColumnRetrieval + nlayers_retrieval: 34 + tracer variables: + - volume_mixing_ratio_of_no2 + isApriori: false + isAveragingKernel: true + stretchVertices: topbottom + observation_name: tropomi_s5p_no2_tropo +variational: + minimizer: + algorithm: DRPCG + iterations: + - geometry: + fms initialization: + namelist filename: cycle_dir/fmsmpp.nml + field table filename: cycle_dir/field_table_gmao + akbk: cycle_dir/akbk72.nc4 + layout: + - 2 + - 2 + npx: 91 + npy: 91 + npz: 72 + gradient norm reduction: 1e-10 + ninner: 5 + diagnostics: + departures: ombg + online diagnostics: + write increment: true + increment: + state component: + filetype: auxgrid + gridtype: latlon + datapath: ./ + filename: experiment_id.increment-iter1. + field io names: *id001 +final: + diagnostics: + departures: oman + prints: + frequency: PT3H + increment: + geometry: + fms initialization: + namelist filename: cycle_dir/fmsmpp.nml + field table filename: cycle_dir/field_table_gmao + akbk: cycle_dir/akbk72.nc4 + layout: + - 2 + - 2 + npx: 91 + npy: 91 + npz: 72 + output: + state component: + states: + - filetype: cube sphere history + datapath: cycle_dir + filename: experiment_id.inc.%yyyy%mm%dd_%hh%MM%ssz.nc4 +output: + filetype: cube sphere history + provider: geos + datapath: cycle_dir + filename: experiment_id.analysis.%yyyy%mm%dd_%hh%MM%ssz.nc4 + first: PT0H + frequency: PT1H + field io names: *id001 diff --git a/src/swell/test/jedi_configs/jedi_3dvar_marine_config.yaml b/src/swell/test/jedi_configs/jedi_3dvar_marine_config.yaml new file mode 100644 index 000000000..3626dc230 --- /dev/null +++ b/src/swell/test/jedi_configs/jedi_3dvar_marine_config.yaml @@ -0,0 +1,694 @@ +cost function: + cost type: 3D-Var + jb evaluation: false + time window: + begin: '2021-07-01T00:00:00Z' + end: '2021-07-02T00:00:00Z' + bound to include: begin + geometry: + mom6_input_nml: soca/input.nml + fields metadata: soca/fields_metadata.yaml + geom_grid_file: INPUT/soca_gridspec.nc + analysis variables: &id001 + - sea_water_salinity + - sea_water_potential_temperature + - sea_surface_height_above_geoid + - sea_water_cell_thickness + background: + date: '2021-07-01T12:00:00Z' + read_from_file: 1 + basename: ./ + ocn_filename: MOM6.res.20210701T120000Z.nc + state variables: + - sea_water_salinity + - sea_water_potential_temperature + - sea_surface_height_above_geoid + - sea_water_cell_thickness + - ocean_mixed_layer_thickness + - sea_water_depth + background error: + covariance model: SABER + saber central block: + saber block name: diffusion + active variables: + - sea_water_potential_temperature + - sea_water_salinity + - sea_surface_height_above_geoid + read: + groups: + - variables: + - sea_water_potential_temperature + - sea_water_salinity + horizontal: + filepath: background_error_model/new_corr_1p0 + vertical: + levels: 50 + filepath: background_error_model/vt.20210701T120000Z + - variables: + - sea_surface_height_above_geoid + horizontal: + filepath: background_error_model/new_corr_1p5 + date: '2021-07-01T12:00:00Z' + saber outer blocks: + - saber block name: SOCABkgErrFilt + ocean_depth_min: 100 + rescale_bkgerr: 1.0 + efold_z: 2500.0 + - saber block name: SOCAParametricOceanStdDev + temperature: + sst: + filepath: cycle_dir/soca/godas_sst_bgerr.nc + variable: sst_bgerr + unbalanced salinity: {} + unbalanced ssh: {} + linear variable change: + input variables: *id001 + output variables: *id001 + linear variable changes: + - linear variable change name: BalanceSOCA + ksshts: + nlayers: 2 + observations: + get values: + observers: + - obs space: + name: adt_cryosat2n + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_cryosat2n.20210701T000000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_cryosat2n.20210701T000000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: adt_cryosat2n + - obs space: + name: adt_jason3 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_jason3.20210701T000000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_jason3.20210701T000000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: adt_jason3 + - obs space: + name: adt_saral + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_saral.20210701T000000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_saral.20210701T000000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: adt_saral + - obs space: + name: adt_sentinel3a + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_sentinel3a.20210701T000000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_sentinel3a.20210701T000000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: adt_sentinel3a + - obs space: + name: adt_sentinel3b + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_sentinel3b.20210701T000000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_sentinel3b.20210701T000000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: adt_sentinel3b + - obs space: + name: insitu_profile_argo + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/insitu_profile_argo.20210701T000000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.insitu_profile_argo.20210701T000000Z.nc4 + simulated variables: + - waterTemperature + - salinity + obs operator: + name: Composite + components: + - name: InsituTemperature + variables: + - name: waterTemperature + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + variables: + - name: salinity + vertical coordinate: sea_water_depth + observation vertical coordinate: depth + interpolation method: linear + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: ObsError/salinity + minvalue: 0.0001 + - filter: Bounds Check + where: + - variable: + name: ObsValue/salinity + minvalue: 1.0 + maxvalue: 40.0 + - filter: Background Check + threshold: 3.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 2.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: insitu_profile_argo + - obs space: + name: sst_ostia + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sst_ostia.20210701T000000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sst_ostia.20210701T000000Z.nc4 + simulated variables: + - seaSurfaceTemperature + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: -2.0 + maxvalue: 36.0 + - filter: Background Check + threshold: 5.0 + - filter: Domain Check + where: + - variable: + name: ObsError/seaSurfaceTemperature + minvalue: 0.001 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Domain Check + action: + name: passivate + where: + - variable: + name: GeoVaLs/sea_area_fraction + maxvalue: 0.9 + observation_name: sst_ostia + - obs space: + name: sss_smos + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sss_smos.20210701T000000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sss_smos.20210701T000000Z.nc4 + simulated variables: + - seaSurfaceSalinity + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: 0.1 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 2.5 + - filter: Domain Check + action: + name: passivate + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 10.0 + - filter: Domain Check + action: + name: reject + where: + - variable: + name: ObsError/seaSurfaceSalinity + maxvalue: 0.87 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: sss_smos + - obs space: + name: sss_smapv5 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sss_smapv5.20210701T000000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sss_smapv5.20210701T000000Z.nc4 + simulated variables: + - seaSurfaceSalinity + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: 0.1 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 2.5 + - filter: Domain Check + action: + name: passivate + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 10.0 + - filter: Domain Check + action: + name: reject + where: + - variable: + name: ObsError/seaSurfaceSalinity + maxvalue: 0.87 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: sss_smapv5 + - obs space: + name: sst_abi_g16_l3c + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sst_abi_g16_l3c.20210701T000000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sst_abi_g16_l3c.20210701T000000Z.nc4 + simulated variables: + - seaSurfaceTemperature + get values: + time interpolation: linear + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: -1.0 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 5.0 + - filter: Domain Check + where: + - variable: + name: ObsError/seaSurfaceTemperature + minvalue: 1e-08 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Perform Action + action: + name: assign error + error function: + name: ObsFunction/LinearCombination + options: + variables: + - ObsError/seaSurfaceTemperature + coefs: + - 1.0 + observation_name: sst_abi_g16_l3c + - obs space: + name: sst_gmi_l3u + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sst_gmi_l3u.20210701T000000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sst_gmi_l3u.20210701T000000Z.nc4 + simulated variables: + - seaSurfaceTemperature + get values: + time interpolation: linear + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: -1.0 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 5.0 + - filter: Domain Check + where: + - variable: + name: ObsError/seaSurfaceTemperature + minvalue: 1e-08 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Perform Action + action: + name: assign error + error function: + name: ObsFunction/LinearCombination + options: + variables: + - ObsError/seaSurfaceTemperature + coefs: + - 1.0 + observation_name: sst_gmi_l3u + - obs space: + name: sst_viirs_n20_l3u + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sst_viirs_n20_l3u.20210701T000000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sst_viirs_n20_l3u.20210701T000000Z.nc4 + simulated variables: + - seaSurfaceTemperature + get values: + time interpolation: linear + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: -1.0 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 5.0 + - filter: Domain Check + where: + - variable: + name: ObsError/seaSurfaceTemperature + minvalue: 1e-08 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Perform Action + action: + name: assign error + error function: + name: ObsFunction/LinearCombination + options: + variables: + - ObsError/seaSurfaceTemperature + coefs: + - 1.0 + observation_name: sst_viirs_n20_l3u + - obs space: + name: temp_profile_xbt + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/temp_profile_xbt.20210701T000000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.temp_profile_xbt.20210701T000000Z.nc4 + simulated variables: + - waterTemperature + obs operator: + name: InsituTemperature + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: ObsError/waterTemperature + minvalue: 0.001 + - filter: Bounds Check + minvalue: -2.0 + maxvalue: 36.0 + - filter: Background Check + threshold: 3.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 3.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: temp_profile_xbt +variational: + minimizer: + algorithm: RPCG + iterations: + - geometry: + mom6_input_nml: soca/input.nml + fields metadata: soca/fields_metadata.yaml + geom_grid_file: INPUT/soca_gridspec.nc + gradient norm reduction: 1e-10 + ninner: 5 + diagnostics: + departures: ombg + online diagnostics: + write increment: true + increment: + state component: + datadir: ./ + date: '2021-07-01T00:00:00Z' + exp: experiment_id + type: incr +final: + diagnostics: + departures: oman + prints: + frequency: PT3H +output: + datadir: ./ + exp: experiment_id + type: an diff --git a/src/swell/test/jedi_configs/jedi_3dvar_marine_cycle_config.yaml b/src/swell/test/jedi_configs/jedi_3dvar_marine_cycle_config.yaml new file mode 100644 index 000000000..c2b9d4ba0 --- /dev/null +++ b/src/swell/test/jedi_configs/jedi_3dvar_marine_cycle_config.yaml @@ -0,0 +1,694 @@ +cost function: + cost type: 3D-Var + jb evaluation: false + time window: + begin: '2021-07-01T09:00:00Z' + end: '2021-07-01T15:00:00Z' + bound to include: begin + geometry: + mom6_input_nml: soca/input.nml + fields metadata: soca/fields_metadata.yaml + geom_grid_file: INPUT/soca_gridspec.nc + analysis variables: &id001 + - sea_water_salinity + - sea_water_potential_temperature + - sea_surface_height_above_geoid + - sea_water_cell_thickness + background: + date: '2021-07-01T12:00:00Z' + read_from_file: 1 + basename: ./ + ocn_filename: MOM6.res.20210701T120000Z.nc + state variables: + - sea_water_salinity + - sea_water_potential_temperature + - sea_surface_height_above_geoid + - sea_water_cell_thickness + - ocean_mixed_layer_thickness + - sea_water_depth + background error: + covariance model: SABER + saber central block: + saber block name: diffusion + active variables: + - sea_water_potential_temperature + - sea_water_salinity + - sea_surface_height_above_geoid + read: + groups: + - variables: + - sea_water_potential_temperature + - sea_water_salinity + horizontal: + filepath: background_error_model/new_corr_1p0 + vertical: + levels: 50 + filepath: background_error_model/vt.20210701T120000Z + - variables: + - sea_surface_height_above_geoid + horizontal: + filepath: background_error_model/new_corr_1p5 + date: '2021-07-01T12:00:00Z' + saber outer blocks: + - saber block name: SOCABkgErrFilt + ocean_depth_min: 100 + rescale_bkgerr: 1.0 + efold_z: 2500.0 + - saber block name: SOCAParametricOceanStdDev + temperature: + sst: + filepath: cycle_dir/soca/godas_sst_bgerr.nc + variable: sst_bgerr + unbalanced salinity: {} + unbalanced ssh: {} + linear variable change: + input variables: *id001 + output variables: *id001 + linear variable changes: + - linear variable change name: BalanceSOCA + ksshts: + nlayers: 2 + observations: + get values: + observers: + - obs space: + name: adt_cryosat2n + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_cryosat2n.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_cryosat2n.20210701T090000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: adt_cryosat2n + - obs space: + name: adt_jason3 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_jason3.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_jason3.20210701T090000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: adt_jason3 + - obs space: + name: adt_saral + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_saral.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_saral.20210701T090000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: adt_saral + - obs space: + name: adt_sentinel3a + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_sentinel3a.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_sentinel3a.20210701T090000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: adt_sentinel3a + - obs space: + name: adt_sentinel3b + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/adt_sentinel3b.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.adt_sentinel3b.20210701T090000Z.nc4 + simulated variables: + - absoluteDynamicTopography + obs operator: + name: ADT + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 7.5 + - filter: Background Check + absolute threshold: 0.2 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_floor_depth_below_sea_surface + minvalue: 500 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: adt_sentinel3b + - obs space: + name: insitu_profile_argo + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/insitu_profile_argo.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.insitu_profile_argo.20210701T090000Z.nc4 + simulated variables: + - waterTemperature + - salinity + obs operator: + name: Composite + components: + - name: InsituTemperature + variables: + - name: waterTemperature + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + variables: + - name: salinity + vertical coordinate: sea_water_depth + observation vertical coordinate: depth + interpolation method: linear + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Domain Check + where: + - variable: + name: ObsError/salinity + minvalue: 0.0001 + - filter: Bounds Check + where: + - variable: + name: ObsValue/salinity + minvalue: 1.0 + maxvalue: 40.0 + - filter: Background Check + threshold: 3.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 2.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: insitu_profile_argo + - obs space: + name: sst_ostia + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sst_ostia.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sst_ostia.20210701T090000Z.nc4 + simulated variables: + - seaSurfaceTemperature + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: -2.0 + maxvalue: 36.0 + - filter: Background Check + threshold: 5.0 + - filter: Domain Check + where: + - variable: + name: ObsError/seaSurfaceTemperature + minvalue: 0.001 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Domain Check + action: + name: passivate + where: + - variable: + name: GeoVaLs/sea_area_fraction + maxvalue: 0.9 + observation_name: sst_ostia + - obs space: + name: sss_smos + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sss_smos.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sss_smos.20210701T090000Z.nc4 + simulated variables: + - seaSurfaceSalinity + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: 0.1 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 2.5 + - filter: Domain Check + action: + name: passivate + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 10.0 + - filter: Domain Check + action: + name: reject + where: + - variable: + name: ObsError/seaSurfaceSalinity + maxvalue: 0.87 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: sss_smos + - obs space: + name: sss_smapv5 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sss_smapv5.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sss_smapv5.20210701T090000Z.nc4 + simulated variables: + - seaSurfaceSalinity + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: 0.1 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 2.5 + - filter: Domain Check + action: + name: passivate + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 10.0 + - filter: Domain Check + action: + name: reject + where: + - variable: + name: ObsError/seaSurfaceSalinity + maxvalue: 0.87 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: sss_smapv5 + - obs space: + name: sst_abi_g16_l3c + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sst_abi_g16_l3c.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sst_abi_g16_l3c.20210701T090000Z.nc4 + simulated variables: + - seaSurfaceTemperature + get values: + time interpolation: linear + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: -1.0 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 5.0 + - filter: Domain Check + where: + - variable: + name: ObsError/seaSurfaceTemperature + minvalue: 1e-08 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Perform Action + action: + name: assign error + error function: + name: ObsFunction/LinearCombination + options: + variables: + - ObsError/seaSurfaceTemperature + coefs: + - 1.0 + observation_name: sst_abi_g16_l3c + - obs space: + name: sst_gmi_l3u + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sst_gmi_l3u.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sst_gmi_l3u.20210701T090000Z.nc4 + simulated variables: + - seaSurfaceTemperature + get values: + time interpolation: linear + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: -1.0 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 5.0 + - filter: Domain Check + where: + - variable: + name: ObsError/seaSurfaceTemperature + minvalue: 1e-08 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Perform Action + action: + name: assign error + error function: + name: ObsFunction/LinearCombination + options: + variables: + - ObsError/seaSurfaceTemperature + coefs: + - 1.0 + observation_name: sst_gmi_l3u + - obs space: + name: sst_viirs_n20_l3u + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sst_viirs_n20_l3u.20210701T090000Z.nc4 + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sst_viirs_n20_l3u.20210701T090000Z.nc4 + simulated variables: + - seaSurfaceTemperature + get values: + time interpolation: linear + obs operator: + name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_marine/observations/obsop_name_map.yaml + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_area_fraction + minvalue: 0.9 + - filter: Bounds Check + minvalue: -1.0 + maxvalue: 40.0 + - filter: Background Check + absolute threshold: 5.0 + - filter: Domain Check + where: + - variable: + name: ObsError/seaSurfaceTemperature + minvalue: 1e-08 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + - filter: Perform Action + action: + name: assign error + error function: + name: ObsFunction/LinearCombination + options: + variables: + - ObsError/seaSurfaceTemperature + coefs: + - 1.0 + observation_name: sst_viirs_n20_l3u + - obs space: + name: temp_profile_xbt + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/temp_profile_xbt.20210701T090000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.temp_profile_xbt.20210701T090000Z.nc4 + simulated variables: + - waterTemperature + obs operator: + name: InsituTemperature + obs error: + covariance model: diagonal + obs filters: + - filter: Domain Check + where: + - variable: + name: ObsError/waterTemperature + minvalue: 0.001 + - filter: Bounds Check + minvalue: -2.0 + maxvalue: 36.0 + - filter: Background Check + threshold: 3.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/sea_surface_temperature + minvalue: 3.0 + - filter: Domain Check + where: + - variable: + name: GeoVaLs/distance_from_coast + minvalue: 100000.0 + observation_name: temp_profile_xbt +variational: + minimizer: + algorithm: RPCG + iterations: + - geometry: + mom6_input_nml: soca/input.nml + fields metadata: soca/fields_metadata.yaml + geom_grid_file: INPUT/soca_gridspec.nc + gradient norm reduction: 1e-10 + ninner: 10 + diagnostics: + departures: ombg + online diagnostics: + write increment: true + increment: + state component: + datadir: ./ + date: '2021-07-01T09:00:00Z' + exp: experiment_id + type: incr +final: + diagnostics: + departures: oman + prints: + frequency: PT3H +output: + datadir: ./ + exp: experiment_id + type: an diff --git a/src/swell/test/jedi_configs/jedi_hofx_cf_config.yaml b/src/swell/test/jedi_configs/jedi_hofx_cf_config.yaml new file mode 100644 index 000000000..59b2f3dd7 --- /dev/null +++ b/src/swell/test/jedi_configs/jedi_hofx_cf_config.yaml @@ -0,0 +1,111 @@ +time window: + begin: '2023-08-05T15:00:00Z' + end: '2023-08-05T21:00:00Z' + bound to include: begin +geometry: + fms initialization: + namelist filename: cycle_dir/fmsmpp.nml + field table filename: cycle_dir/field_table_gmao + akbk: cycle_dir/akbk72.nc4 + layout: + - 2 + - 2 + npx: 91 + npy: 91 + npz: 72 +state: + datetime: '2023-08-05T18:00:00Z' + filetype: cube sphere history + provider: geos + max allowable geometry difference: 0.1 + datapath: cycle_dir + filename: bkg.%yyyy%mm%ddT%hh%MM%ssZ.nc4 + state variables: + - air_pressure_thickness + - air_pressure_at_surface + - volume_mixing_ratio_of_no2 + - volume_mixing_ratio_of_no + - volume_mixing_ratio_of_o3 + - volume_mixing_ratio_of_co + field io names: + eastward_wind: ua + northward_wind: va + air_temperature: T + air_pressure_at_surface: PS + air_pressure_thickness: DELP + volume_mixing_ratio_of_no2: NO2 + volume_mixing_ratio_of_no: "NO" + volume_mixing_ratio_of_o3: O3 + volume_mixing_ratio_of_co: CO +observations: + get values: + observers: + - obs space: + name: tempo_no2_tropo + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/tempo_no2_tropo.20230805T150000Z.nc4 + obsdataout: + engine: + type: H5File + allow overwrite: true + obsfile: cycle_dir/experiment_id.tempo_no2_tropo.20230805T150000Z.nc4 + simulated variables: + - nitrogendioxideColumn + observed variables: + - nitrogendioxideColumn + monitoring only: false + obs filters: + - filter: RejectList + where: + - variable: + name: MetaData/cloud_fraction + minvalue: 0.15 + - filter: RejectList + where: + - variable: + name: MetaData/solar_zenith_angle + minvalue: 70 + obs operator: + name: ColumnRetrieval + nlayers_retrieval: 72 + tracer variables: + - volume_mixing_ratio_of_no2 + isApriori: false + isAveragingKernel: true + stretchVertices: topbottom + observation_name: tempo_no2_tropo + - obs space: + name: tropomi_s5p_no2_tropo + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/tropomi_s5p_no2_tropo.20230805T150000Z.nc4 + obsdataout: + engine: + type: H5File + allow overwrite: true + obsfile: cycle_dir/experiment_id.tropomi_s5p_no2_tropo.20230805T150000Z.nc4 + simulated variables: + - nitrogendioxideColumn + observed variables: + - nitrogendioxideColumn + obs filters: + - filter: Domain Check + filter variables: + - name: nitrogendioxideColumn + where: + - variable: + name: MetaData/latitude + minvalue: -65 + maxvalue: 65 + obs operator: + name: ColumnRetrieval + nlayers_retrieval: 34 + tracer variables: + - volume_mixing_ratio_of_no2 + isApriori: false + isAveragingKernel: true + stretchVertices: topbottom + observation_name: tropomi_s5p_no2_tropo diff --git a/src/swell/test/jedi_configs/jedi_hofx_config.yaml b/src/swell/test/jedi_configs/jedi_hofx_config.yaml new file mode 100644 index 000000000..be7a4c0f9 --- /dev/null +++ b/src/swell/test/jedi_configs/jedi_hofx_config.yaml @@ -0,0 +1,19233 @@ +time window: + begin: '2023-10-09T21:00:00Z' + end: '2023-10-10T03:00:00Z' + bound to include: begin +geometry: + fms initialization: + namelist filename: ./fv3-jedi/fv3files/fmsmpp.nml + field table filename: ./fv3-jedi/fv3files/field_table_gmao + akbk: ./fv3-jedi/fv3files/akbk72.nc4 + layout: + - 2 + - 2 + npx: '91' + npy: '91' + npz: '72' +initial condition: + datetime: '2023-10-09T21:00:00Z' + filetype: cube sphere history + provider: geos + compute edge pressure from surface pressure: true + max allowable geometry difference: 0.001 + datapath: cycle_dir + filenames: + - bkg.%yyyy%mm%ddT%hh%MM%ssZ.nc4 + - fv3-jedi/bkg/geos.crtmsrf.91.nc4 + state variables: + - eastward_wind + - northward_wind + - air_temperature + - air_pressure_at_surface + - air_pressure_levels + - water_vapor_mixing_ratio_wrt_moist_air + - cloud_liquid_ice + - cloud_liquid_water + - rain_water + - snow_water + - mole_fraction_of_ozone_in_air + - geopotential_height_times_gravity_at_surface + - initial_mass_fraction_of_large_scale_cloud_condensate + - initial_mass_fraction_of_convective_cloud_condensate + - convective_cloud_area_fraction + - fraction_of_ocean + - fraction_of_land + - isotropic_variance_of_filtered_topography + - surface_velocity_scale + - surface_buoyancy_scale + - planetary_boundary_layer_height + - surface_exchange_coefficient_for_momentum + - surface_exchange_coefficient_for_heat + - surface_exchange_coefficient_for_moisture + - KCBL_before_moist + - surface_temp_before_moist + - lower_index_where_Kh_greater_than_2 + - upper_index_where_Kh_greater_than_2 + - fraction_of_lake + - fraction_of_ice + - vtype + - stype + - vfrac + - sheleg + - skin_temperature_at_surface + - soilt + - soilm + - eastward_wind_at_surface + - northward_wind_at_surface + field io names: &id017 + eastward_wind: ua + northward_wind: va + air_temperature: t + air_pressure_at_surface: ps + air_pressure_levels: pe + water_vapor_mixing_ratio_wrt_moist_air: q + cloud_liquid_ice: qi + cloud_liquid_water: ql + rain_water: qr + snow_water: qs + mole_fraction_of_ozone_in_air: o3ppmv + geopotential_height_times_gravity_at_surface: phis + initial_mass_fraction_of_large_scale_cloud_condensate: qls + initial_mass_fraction_of_convective_cloud_condensate: qcn + convective_cloud_area_fraction: cfcn + fraction_of_ocean: frocean + fraction_of_land: frland + isotropic_variance_of_filtered_topography: varflt + surface_velocity_scale: ustar + surface_buoyancy_scale: bstar + planetary_boundary_layer_height: zpbl + surface_exchange_coefficient_for_momentum: cm + surface_exchange_coefficient_for_heat: ct + surface_exchange_coefficient_for_moisture: cq + KCBL_before_moist: kcbl + surface_temp_before_moist: tsm + lower_index_where_Kh_greater_than_2: khl + upper_index_where_Kh_greater_than_2: khu + fraction_of_lake: frlake + fraction_of_ice: frseaice + skin_temperature_at_surface: ts + eastward_wind_at_surface: u10m + northward_wind_at_surface: v10m +observations: + get values: + variable change: + variable change name: Model2GeoVaLs + hydrometeor effective radii method: gsi + tropopause pressure method: gsi + observers: + - obs space: + name: Aircraft Temperature + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/aircraft_temperature.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.aircraft_temperature.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - airTemperature + obs bias: + input file: cycle_dir/aircraft_temperature.20231009T150000Z.acftbias + output file: cycle_dir/aircraft_temperature.20231009T210000Z.acftbias + bc by record: true + variational bc: + predictors: + - name: constant + - name: obsMetadataPredictor + variable: instantaneousAltitudeRate + - name: obsMetadataPredictor + variable: instantaneousAltitudeRate + order: 2 + covariance: + minimal required obs number: 3 + variance range: + - 1e-06 + - 1.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/aircraft_temperature.20231009T150000Z.acftbias_cov + inflation: + ratio: 1.005 + ratio for small dataset: 2.0 + obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - airTemperature + linear obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - airTemperature + obs filters: + - filter: Variable Assignment + where: + - variable: + name: ObsType/airTemperature + is_in: 130 + assignments: + - name: MetaData/stationIdentification + value: 'KX130 ' + - filter: Variable Assignment + where: + - variable: + name: MetaData/instantaneousAltitudeRate + minvalue: 50.0 + assignments: + - name: MetaData/instantaneousAltitudeRate + value: 0.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 2.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + errors: + - 2.5 + - 2.3 + - 2.1 + - 1.9 + - 1.7 + where: + - variable: + name: ObsType/airTemperature + is_in: 130 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + errors: + - 1.4706 + - 1.3529 + - 1.2353 + - 1.1176 + - 1.0 + where: + - variable: + name: ObsType/airTemperature + is_in: 131,133 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 70000 + - 65000 + - 60000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 5000 + errors: + - 1.5 + - 1.3 + - 1.1 + - 0.9 + - 0.8 + - 0.8 + - 0.75 + - 0.7 + - 0.7 + - 0.75 + - 0.85 + - 1.3 + - 1.5 + - 1.5 + where: + - variable: + name: ObsType/airTemperature + is_in: 132 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 60000 + - 40000 + errors: + - 1.5 + - 1.35 + - 1.25 + - 1.1 + - 1.0 + - 1.3 + - 1.7 + where: + - variable: + name: ObsType/airTemperature + is_in: 134 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + errors: + - 1.4706 + - 1.3529 + - 1.2353 + - 1.1176 + - 1000000000.0 + where: + - variable: + name: ObsType/airTemperature + is_in: 135 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + inflate variables: + - airTemperature + pressure: MetaData/pressure + distance threshold: 60000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreQC/airTemperature + is_in: 4-15 + action: + name: passivate + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: + name: ObsType/airTemperature + is_in: 134, 135 + action: + name: passivate + defer to post: true + - filter: Perform Action + action: + name: inflate error + inflation factor: 10.0 + filter variables: + - name: airTemperature + where: + - variable: + name: MetaData/pressure + maxvalue: 110000 + minvalue: 50000 + - variable: + name: ObsType/airTemperature + is_in: 130 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: GsiAdjustObsError/airTemperature + where: + - variable: + name: GsiAdjustObsError/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 8.0 + surface_obs: false + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/airTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/airTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/airTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreUseFlag/airTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 7.0 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 4.9 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: TempObsErrorData/airTemperature + where: + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: airTemperature + defer to post: true + - filter: GOMsaver + filename: cycle_dir/aircraft_temperature-geovals.20231009T210000Z.nc4 + observation_name: aircraft_temperature + get values: + time interpolation: linear + - obs space: + name: Aircraft Wind + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/aircraft_wind.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.aircraft_wind.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + obs prior filters: + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + - filter: GOMsaver + filename: cycle_dir/aircraft_wind-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: PreQC/windEastward + is_in: 4-15 + action: + name: passivate + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: + name: ObsType/windEastward + is_in: 234, 235 + action: + name: passivate + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 80000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 1.4 + - 1.5 + - 1.6 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.3 + - 2.6 + - 2.8 + - 3.0 + - 3.2 + - 2.7 + - 2.4 + - 2.1 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 3.6 + where: + - variable: + name: ObsType/windEastward + is_in: 230 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 3.0 + where: + - variable: + name: ObsType/windEastward + is_in: 231 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 2.5 + where: + - variable: + name: ObsType/windEastward + is_in: 233 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 3.0 + where: + - variable: + name: ObsType/windEastward + is_in: 234, 235 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + errors: + - 1.5 + - 1.6 + - 1.7 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.2 + - 2.2 + - 2.3 + - 2.3 + - 2.4 + - 2.4 + - 2.5 + - 2.7 + - 2.9 + - 3.1 + where: + - variable: + name: ObsType/windEastward + is_in: 232 + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + inflate variables: + - windEastward + pressure: MetaData/pressure + distance threshold: 60000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + inflate variables: + - windNorthward + pressure: MetaData/pressure + distance threshold: 60000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: assign error + error function: GsiAdjustObsError/windEastward + where: + - variable: + name: GsiAdjustObsError/windEastward + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: assign error + error function: GsiAdjustObsError/windNorthward + where: + - variable: + name: GsiAdjustObsError/windNorthward + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + surface_obs: false + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + surface_obs: false + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 230 + - 231 + - 232 + - 233 + - 234 + - 235 + cgross: + - 6.0 + - 6.5 + - 7.0 + - 7.5 + - 7.5 + - 7.5 + error_min: + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + variable: windEastward + action: + name: reject + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 230 + - 231 + - 232 + - 233 + - 234 + - 235 + cgross: + - 6.0 + - 6.5 + - 7.0 + - 7.5 + - 7.5 + - 7.5 + error_min: + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + variable: windNorthward + action: + name: reject + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + defer to post: true + observation_name: aircraft_wind + get values: + time interpolation: linear + - obs space: + name: AIRS AQUA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/airs_aqua.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.airs_aqua.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: airs_aqua + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/airs_aqua.20231009T150000Z.satbias.nc4 + output file: cycle_dir/airs_aqua.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/airs_aqua.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/airs_aqua.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/airs_aqua.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/airs_aqua.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/airs_aqua_119_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.2 + - 1.2 + - 1.3136 + - 1.4 + - 1.4 + - 1.2639 + - 1.4 + - 1.4 + - 1.1802 + - 1.2517 + - 1.1719 + - 1.2 + - 1.1728 + - 1.1442 + - 1.2 + - 1.2 + - 1.15 + - 1.0801 + - 1.15 + - 1.15 + - 1.0396 + - 1.15 + - 1.15 + - 1.15 + - 1.15 + - 1.15 + - 1.15 + - 1.15 + - 0.9946 + - 1.05 + - 0.9217 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.9591 + - 0.9465 + - 0.9593 + - 0.9337 + - 1.0 + - 0.9861 + - 1.0017 + - 1.1 + - 1.0083 + - 1.0024 + - 1.1 + - 0.9967 + - 1.0094 + - 0.9412 + - 1.1 + - 0.998 + - 0.9807 + - 0.857 + - 0.8727 + - 0.8114 + - 0.879 + - 0.871 + - 0.8853 + - 0.7937 + - 0.8243 + - 0.8 + - 0.8016 + - 0.8 + - 0.7781 + - 0.7475 + - 0.85 + - 0.7405 + - 0.715 + - 0.7416 + - 0.7465 + - 0.9 + - 0.7198 + - 0.7157 + - 0.9 + - 0.727 + - 0.7246 + - 0.704 + - 0.7039 + - 0.66 + - 0.6694 + - 0.6669 + - 0.7031 + - 0.6977 + - 0.6488 + - 0.6653 + - 0.9 + - 0.6265 + - 0.622 + - 0.6308 + - 0.6297 + - 0.621 + - 0.6225 + - 0.6229 + - 0.6234 + - 0.6238 + - 0.6332 + - 0.6425 + - 0.7028 + - 0.6152 + - 0.9 + - 0.7257 + - 0.7288 + - 1.15 + - 0.9 + - 0.6673 + - 0.7473 + - 0.6767 + - 0.7056 + - 0.9 + - 0.95 + - 0.7271 + - 0.95 + - 0.725 + - 0.7601 + - 0.6973 + - 0.7573 + - 0.6011 + - 0.606 + - 0.9 + - 0.6635 + - 0.586 + - 0.5766 + - 0.75 + - 2.0386 + - 0.75 + - 1.0 + - 0.9 + - 0.9 + - 0.9 + - 0.9 + - 0.9 + - 0.9 + - 1.0 + - 1.3386 + - 1.0 + - 1.0 + - 0.85 + - 0.95 + - 1.7386 + - 0.95 + - 0.9 + - 0.8 + - 1.7386 + - 0.75 + - 0.75 + - 0.75 + - 0.8 + - 0.75 + - 0.8 + - 0.9 + - 0.75 + - 0.8 + - 0.8 + - 1.1 + - 0.75 + - 1.1 + - 0.75 + - 0.5991 + - 0.5348 + - 0.6541 + - 0.7421 + - 0.6192 + - 0.8186 + - 1.0616 + - 0.8848 + - 1.024 + - 2.5 + - 1.0249 + - 1.0795 + - 1.2199 + - 2.5 + - 2.5 + - 1.3103 + - 1.3603 + - 2.5 + - 2.5 + - 2.5 + - 1.323 + - 2.5 + - 2.5 + - 2.5 + - 1.4406 + - 2.5 + - 2.5 + - 1.3965 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 1.6997 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 1.6264 + - 2.5 + - 2.5 + - 2.5 + - 1.3436 + - 2.5 + - 2.5 + - 0.5727 + - 0.6838 + - 0.5994 + - 0.5178 + - 0.5145 + - 0.547 + - 0.5572 + - 0.5002 + - 0.4974 + - 0.55 + - 0.4953 + - 0.4883 + - 0.4948 + - 0.5446 + - 0.5777 + - 1.5 + - 1.5 + - 3.0 + - 3.0 + - 2.5 + - 2.5 + - 2.0 + - 1.0 + - 1.5 + - 1.5 + - 1.8 + - 0.6 + - 0.7 + - 0.65 + - 0.675 + - 0.7 + - 0.75 + - 0.775 + - 0.8 + - 0.8 + - 0.85 + - 0.85 + - 0.85 + - 0.7 + - 0.7 + - 0.7 + - 0.7 + - 0.7 + - 0.7 + - 0.7 + - 0.725 + - 0.75 + - 0.775 + - 0.8 + - 0.825 + - 0.8 + - 0.8 + - 0.8 + - 0.75 + - 0.8 + - 0.8 + - 0.8 + - 0.8 + - 0.8 + - 0.85 + - 0.8 + - 0.8 + - 2.5 + - 0.75 + - 0.75 + - 0.75 + - 0.75 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + - filter: GOMsaver + filename: cycle_dir/airs_aqua-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 2122, 2123, 2128, 2134, 2141, 2145, 2149, 2153, 2164, 2189, 2197, + 2209, 2226, 2234, 2280, 2318, 2321, 2325, 2328, 2333, 2339, 2348, 2353, + 2355, 2357, 2363, 2370, 2371, 2377 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: airs_aqua + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: &id001 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: airs_aqua + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 1.0 + - 1.0 + - 3.0 + - 1.0 + - 3.0 + - 1.0 + - 1.0 + - 3.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 3.0 + - 1.0 + - 1.0 + - 3.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 3.0 + - 3.0 + - 3.5 + - 3.0 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 1.7 + - 3.0 + - 1.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.5 + - 1.25 + - 3.5 + - 3.5 + - 3.0 + - 3.0 + - 1.5 + - 3.0 + - 3.0 + - 3.0 + - 1.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.5 + - 3.0 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.5 + - 3.0 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.5 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id001 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: airs_aqua + get values: + time interpolation: linear + - obs space: + name: AMSR2 GCOM-W1 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsr2_gcom-w1.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsr2_gcom-w1.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: amsr2_gcom-w1 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsr2_gcom-w1.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsr2_gcom-w1.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsr2_gcom-w1.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsr2_gcom-w1.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + var_name: sensorScanPosition + order: 4 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 3 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 2 + - name: sensorScanAngle + var_name: sensorScanPosition + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsr2_gcom-w1.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsr2_gcom-w1.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 340.0 + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.999 + - variable: + name: GeoVaLs/skin_temperature_at_surface_where_sea + minvalue: 275 + - variable: + name: GeoVaLs/wind_speed_at_surface + maxvalue: 12 + - variable: + name: MetaData/latitude + minvalue: -60.0 + maxvalue: 60.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/TotalColumnVaporGuess + minvalue: 10.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SunGlintAngle + minvalue: 20.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: &id002 + - 0.48 + - 3.0737 + - 0.7433 + - 3.643 + - 3.5304 + - 4.427 + - 5.1448 + - 5.0785 + - 4.9763 + - 9.3215 + - 2.5789 + - 5.5274 + - 0.6641 + - 1.3674 + clwret_types: + - ObsValue + maxvalue: 1.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id002 + clwret_types: + - HofX + maxvalue: 1.0 + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: None + value: + name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id002 + clwret_types: + - ObsValue + reference: + name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id002 + clwret_types: + - HofX + minvalue: -0.5 + maxvalue: 0.5 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id002 + clwret_types: + - ObsValue + - HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.1 + - 0.1 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 0.6 + - 0.6 + - 0.6 + - 0.6 + - 0.6 + - 0.5 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + err0: + - 0.8 + - 0.9 + - 0.8 + - 0.9 + - 1.0 + - 1.1 + - 2.0 + - 3.5 + - 3.0 + - 4.8 + - 5.0 + - 6.0 + - 4.5 + - 6.3 + err1: + - 5.0 + - 5.0 + - 5.0 + - 5.0 + - 5.0 + - 18.5 + - 20.0 + - 40.0 + - 20.0 + - 25.0 + - 30.0 + - 30.0 + - 30.0 + - 20.0 + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: None + threshold: 2.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 7-10 + absolute threshold: 30 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 11-14 + absolute threshold: 50 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: amsr2_gcom-w1 + use_flag: None + minvalue: 1e-12 + action: + name: reject + - filter: GOMsaver + filename: cycle_dir/amsr2_gcom-w1-geovals.20231009T210000Z.nc4 + observation_name: amsr2_gcom-w1 + get values: + time interpolation: linear + - obs space: + name: AMSU-A AQUA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_aqua.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_aqua.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_aqua + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_aqua.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_aqua.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_aqua.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_aqua.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_aqua.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_aqua.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id003 + - 2.5 + - 2.0 + - 2.0 + - 0.5 + - 0.4 + - 0.4 + - 0.5 + - 0.3 + - 0.35 + - 0.35 + - 0.45 + - 1.0 + - 1.5 + - 3.75 + - 6.3 + - filter: GOMsaver + filename: cycle_dir/amsua_aqua-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_aqua + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_aqua + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_aqua + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_aqua + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_aqua + error parameter vector: *id003 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 3.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 3.0 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_aqua + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_aqua + get values: + time interpolation: linear + - obs space: + name: AMSU-A METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_metop-b.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_metop-b.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_metop-b.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_metop-b.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_metop-b.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_metop-b.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id004 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + - filter: GOMsaver + filename: cycle_dir/amsua_metop-b-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_metop-b + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_metop-b + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_metop-b + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_metop-b + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_metop-b + error parameter vector: *id004 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_metop-b + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_metop-b + get values: + time interpolation: linear + - obs space: + name: AMSU-A METOP-C + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_metop-c.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_metop-c.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_metop-c + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_metop-c.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_metop-c.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_metop-c.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_metop-c.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_metop-c.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_metop-c.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id005 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + - filter: GOMsaver + filename: cycle_dir/amsua_metop-c-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_metop-c + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_metop-c + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_metop-c + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_metop-c + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_metop-c + error parameter vector: *id005 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_metop-c + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_metop-c + get values: + time interpolation: linear + - obs space: + name: AMSU-A NOAA-15 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_n15.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_n15.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_n15 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_n15.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_n15.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_n15.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_n15.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_n15.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_n15.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id006 + - 3.0 + - 2.0 + - 2.0 + - 0.6 + - 0.3 + - 0.23 + - 0.25 + - 0.275 + - 0.34 + - 0.4 + - 0.6 + - 1.0 + - 1.5 + - 5.0 + - 3.0 + - filter: GOMsaver + filename: cycle_dir/amsua_n15-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_n15 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_n15 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_n15 + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_n15 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_n15 + error parameter vector: *id006 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_n15 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_n15 + get values: + time interpolation: linear + - obs space: + name: AMSU-A NOAA-18 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_n18.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_n18.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_n18 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_n18.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_n18.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_n18.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_n18.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_n18.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_n18.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id007 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + - filter: GOMsaver + filename: cycle_dir/amsua_n18-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_n18 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_n18 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_n18 + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_n18 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_n18 + error parameter vector: *id007 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_n18 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_n18 + get values: + time interpolation: linear + - obs space: + name: AMSU-A NOAA-19 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_n19.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_n19.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_n19 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_n19.20231009T150000Z.satbias.nc4 + output file: cycle_dir/amsua_n19.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_n19.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_n19.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_n19.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_n19.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id008 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + - filter: GOMsaver + filename: cycle_dir/amsua_n19-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_n19 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_n19 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_n19 + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_n19 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_n19 + error parameter vector: *id008 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_n19 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_n19 + get values: + time interpolation: linear + - obs space: + name: ATMS NOAA-20 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/atms_n20.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.atms_n20.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: atms_n20 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/atms_n20.20231009T150000Z.satbias.nc4 + output file: cycle_dir/atms_n20.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: ATMS + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/atms_n20.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/atms_n20.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/atms_n20.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/atms_n20.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id009 + - 5.0 + - 5.0 + - 5.0 + - 3.0 + - 0.55 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 5.0 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - filter: GOMsaver + filename: cycle_dir/atms_n20-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-7,16-22 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-7,16 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: atms_n20 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: atms_n20 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + use_biasterm: true + test_biasterm: ObsBiasTerm + sensor: atms_n20 + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: atms_n20 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: atms_n20 + error parameter vector: *id009 + obserr_bound_max: + - 4.5 + - 4.5 + - 3.0 + - 3.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 2.0 + - 4.5 + - 4.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: atms_n20 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: atms_n20 + get values: + time interpolation: linear + - obs space: + name: ATMS NPP + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/atms_npp.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.atms_npp.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: atms_npp + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/atms_npp.20231009T150000Z.satbias.nc4 + output file: cycle_dir/atms_npp.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: ATMS + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/atms_npp.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/atms_npp.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/atms_npp.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/atms_npp.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id010 + - 5.0 + - 5.0 + - 5.0 + - 3.0 + - 0.55 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 5.0 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - filter: GOMsaver + filename: cycle_dir/atms_npp-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-7,16-22 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-7,16 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: atms_npp + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: atms_npp + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + use_biasterm: true + test_biasterm: ObsBiasTerm + sensor: atms_npp + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: atms_npp + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: atms_npp + error parameter vector: *id010 + obserr_bound_max: + - 4.5 + - 4.5 + - 3.0 + - 3.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 2.0 + - 4.5 + - 4.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: atms_npp + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: atms_npp + get values: + time interpolation: linear + - obs space: + name: AVHRR-3 METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/avhrr3_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.avhrr3_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: avhrr3_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/avhrr3_metop-b.20231009T150000Z.satbias.nc4 + output file: cycle_dir/avhrr3_metop-b.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/avhrr3_metop-b.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/avhrr3_metop-b.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/avhrr3_metop-b.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/avhrr3_metop-b.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.0 + - 1.08 + - 1.12 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + - filter: GOMsaver + filename: cycle_dir/avhrr3_metop-b-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 3 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 1e-05 + maxvalue: 1000.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: avhrr3_metop-b + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualAVHRR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + cloud detection criteria: + - 0.6 + - 0.68 + - 0.72 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: avhrr3_metop-b + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: avhrr3_metop-b + get values: + time interpolation: linear + - obs space: + name: AVHRR-3 NOAA-18 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/avhrr3_n18.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.avhrr3_n18.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: avhrr3_n18 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/avhrr3_n18.20231009T150000Z.satbias.nc4 + output file: cycle_dir/avhrr3_n18.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/avhrr3_n18.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/avhrr3_n18.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/avhrr3_n18.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/avhrr3_n18.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.0 + - 1.08 + - 1.12 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + - filter: GOMsaver + filename: cycle_dir/avhrr3_n18-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 3 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 1e-05 + maxvalue: 1000.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: avhrr3_n18 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualAVHRR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + cloud detection criteria: + - 0.6 + - 0.68 + - 0.72 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: avhrr3_n18 + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: avhrr3_n18 + get values: + time interpolation: linear + - obs space: + name: AVHRR-3 NOAA-19 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/avhrr3_n19.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.avhrr3_n19.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: avhrr3_n19 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/avhrr3_n19.20231009T150000Z.satbias.nc4 + output file: cycle_dir/avhrr3_n19.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/avhrr3_n19.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/avhrr3_n19.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/avhrr3_n19.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/avhrr3_n19.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.0 + - 1.08 + - 1.12 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + - filter: GOMsaver + filename: cycle_dir/avhrr3_n19-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 3 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 1e-05 + maxvalue: 1000.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: avhrr3_n19 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualAVHRR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + cloud detection criteria: + - 0.6 + - 0.68 + - 0.72 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: avhrr3_n19 + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: avhrr3_n19 + get values: + time interpolation: linear + - obs space: + name: CRIS-FSR NOAA-20 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/cris-fsr_n20.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.cris-fsr_n20.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: cris-fsr_n20 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/cris-fsr_n20.20231009T150000Z.satbias.nc4 + output file: cycle_dir/cris-fsr_n20.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/cris-fsr_n20.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/cris-fsr_n20.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/cris-fsr_n20.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/cris-fsr_n20.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/cris-fsr_108_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 0.823 + - 0.76 + - 0.736 + - 0.743 + - 0.856 + - 1.079 + - 0.888 + - 0.778 + - 0.671 + - 0.65 + - 0.643 + - 0.629 + - 0.629 + - 0.618 + - 0.638 + - 0.619 + - 0.61 + - 0.627 + - 0.601 + - 0.617 + - 0.608 + - 0.498 + - 0.5112 + - 0.4922 + - 0.4959 + - 0.4954 + - 0.4836 + - 0.514 + - 0.5005 + - 0.4917 + - 0.4881 + - 0.4656 + - 0.4793 + - 0.4638 + - 0.4557 + - 0.4666 + - 0.4468 + - 0.4534 + - 0.4471 + - 0.4448 + - 0.4469 + - 0.536 + - 0.4426 + - 0.4388 + - 0.534 + - 0.4368 + - 0.438 + - 0.531 + - 0.4379 + - 0.535 + - 0.4404 + - 0.4405 + - 0.4409 + - 0.4472 + - 0.4555 + - 0.4433 + - 0.4437 + - 0.4454 + - 0.4448 + - 0.4465 + - 0.4499 + - 0.4488 + - 0.54 + - 0.4534 + - 0.4472 + - 0.455 + - 0.4562 + - 0.452 + - 0.4639 + - 0.538 + - 0.4573 + - 0.4604 + - 0.4533 + - 0.4692 + - 0.566 + - 0.4457 + - 0.4457 + - 0.5154 + - 0.5084 + - 0.528 + - 0.552 + - 0.56 + - 0.567 + - 0.546 + - 0.495 + - 0.4809 + - 0.4732 + - 0.4861 + - 0.4632 + - 0.529 + - 0.4748 + - 0.5007 + - 0.5711 + - 0.595 + - 0.5469 + - 0.626 + - 0.541 + - 0.543 + - 0.533 + - 0.541 + - 0.4695 + - 0.53 + - 0.539 + - 0.529 + - 0.542 + - 0.4681 + - 0.536 + - 0.542 + - 0.535 + - 0.563 + - 0.4805 + - 0.647 + - 0.609 + - 0.553 + - 0.583 + - 0.576 + - 0.6294 + - 0.5885 + - 0.556 + - 0.578 + - 0.566 + - 0.601 + - 0.5627 + - 0.5675 + - 0.592 + - 0.5166 + - 0.589 + - 0.5291 + - 0.5892 + - 0.5976 + - 0.5834 + - 0.6512 + - 0.6748 + - 0.6615 + - 0.6003 + - 0.5669 + - 0.5587 + - 0.5507 + - 0.5871 + - 0.616 + - 0.637 + - 0.633 + - 0.639 + - 0.655 + - 0.641 + - 0.664 + - 0.648 + - 0.656 + - 0.663 + - 0.652 + - 0.681 + - 0.662 + - 0.673 + - 0.672 + - 0.68 + - 0.735 + - 0.732 + - 0.715 + - 0.674 + - 0.687 + - 0.702 + - 0.705 + - 0.715 + - 0.725 + - 0.707 + - 0.74 + - 0.74 + - 0.874 + - 0.737 + - 0.819 + - 0.76 + - 0.869 + - 0.9 + - 0.698 + - 0.823 + - 0.676 + - 0.682 + - 0.766 + - 0.68 + - 0.685 + - 0.694 + - 0.695 + - 0.689 + - 0.727 + - 0.695 + - 0.688 + - 0.677 + - 0.736 + - 0.651 + - 0.661 + - 0.6199 + - 0.6223 + - 0.6036 + - 0.6003 + - 0.5991 + - 0.598 + - 0.591 + - 0.5764 + - 0.577 + - 0.5593 + - 0.597 + - 0.576 + - 0.574 + - 0.578 + - 0.579 + - 0.575 + - 0.576 + - 0.568 + - 0.575 + - 0.569 + - 0.559 + - 0.568 + - 0.5401 + - 0.55 + - 0.5575 + - 0.578 + - 0.5635 + - 0.5786 + - 0.5807 + - 0.581 + - 0.573 + - 0.569 + - 0.567 + - 0.552 + - 0.55 + - 0.558 + - 0.552 + - 0.562 + - 0.574 + - 0.575 + - 0.629 + - 0.682 + - 0.756 + - 1.05 + - 1.122 + - 1.1402 + - 1.154 + - 1.131 + - 1.123 + - 1.159 + - 1.106 + - 1.116 + - 1.069 + - 1.077 + - 1.155 + - 1.162 + - 1.1402 + - 0.644 + - 1.208 + - 1.1402 + - 1.295 + - 1.258 + - 1.1402 + - 0.606 + - 0.603 + - 0.563 + - 0.592 + - 0.607 + - 0.611 + - 0.612 + - 0.618 + - 0.626 + - 0.629 + - 0.583 + - 0.8646 + - 0.626 + - 0.639 + - 0.559 + - 0.827 + - 0.612 + - 0.576 + - 0.58 + - 0.575 + - 0.688 + - 0.697 + - 0.743 + - 0.681 + - 0.832 + - 0.719 + - 0.785 + - 0.878 + - 0.9402 + - 1.0054 + - 1.073 + - 1.129 + - 1.035 + - 1.027 + - 0.9703 + - 1.195 + - 0.9153 + - 1.266 + - 1.153 + - 1.348 + - 1.18 + - 1.269 + - 1.311 + - 0.9914 + - 1.359 + - 1.166 + - 1.139 + - 1.2817 + - 1.398 + - 1.542 + - 1.229 + - 1.377 + - 1.28 + - 1.245 + - 1.1188 + - 1.193 + - 1.293 + - 1.275 + - 1.331 + - 1.34 + - 1.099 + - 1.048 + - 1.124 + - 1.225 + - 1.183 + - 1.196 + - 1.4 + - 1.333 + - 1.417 + - 1.326 + - 1.305 + - 1.0638 + - 1.268 + - 1.217 + - 1.289 + - 1.395 + - 1.232 + - 1.435 + - 1.298 + - 1.328 + - 1.262 + - 1.199 + - 1.391 + - 1.233 + - 1.329 + - 1.664 + - 1.509 + - 1.349 + - 1.481 + - 1.595 + - 1.485 + - 1.532 + - 1.504 + - 1.584 + - 1.609 + - 1.516 + - 1.489 + - 1.502 + - 1.544 + - 1.611 + - 1.539 + - 1.296 + - 1.288 + - 1.241 + - 1.32 + - 1.313 + - 1.301 + - 1.843 + - 1.747 + - 1.711 + - 1.771 + - 1.937 + - 1.575 + - 1.573 + - 1.5 + - 1.459 + - 1.402 + - 1.363 + - 2.201 + - 2.127 + - 2.177 + - 2.157 + - 2.192 + - 2.146 + - 2.151 + - 2.071 + - 1.986 + - 1.845 + - 1.687 + - 1.505 + - 1.373 + - 1.229 + - 1.113 + - 1.004 + - 0.936 + - 0.895 + - 0.871 + - 0.841 + - 0.821 + - 0.805 + - 0.8 + - 0.792 + - 0.797 + - 0.791 + - 0.783 + - 0.777 + - 0.785 + - 0.787 + - 0.789 + - 0.793 + - 0.794 + - 0.745 + - 0.75 + - 0.748 + - 0.749 + - 0.744 + - 0.733 + - 0.733 + - 0.741 + - 0.746 + - 0.746 + - 0.738 + - 0.743 + - 0.745 + - 0.749 + - 0.75 + - 0.75 + - 0.884 + - 0.906 + - 0.917 + - 0.924 + - 0.922 + - 0.928 + - 0.921 + - 0.938 + - 0.931 + - 0.943 + - 0.946 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + - filter: GOMsaver + filename: cycle_dir/cris-fsr_n20-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, + 1983, 1984, 1985, 1986, 1987, 2119, 2140, 2143, 2147, 2153, 2158, 2161, + 2168, 2171, 2175, 2182 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: cris-fsr_n20 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: &id011 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 31 + - 31 + - 30 + - 31 + - 30 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 31 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: cris-fsr_n20 + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 2.0 + - 0.4 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.4 + - 0.4 + - 0.4 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id011 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: cris-fsr_n20 + get values: + time interpolation: linear + - obs space: + name: CRIS-FSR NPP + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/cris-fsr_npp.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.cris-fsr_npp.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: cris-fsr_npp + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/cris-fsr_npp.20231009T150000Z.satbias.nc4 + output file: cycle_dir/cris-fsr_npp.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/cris-fsr_npp.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/cris-fsr_npp.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/cris-fsr_npp.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/cris-fsr_npp.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/cris-fsr_108_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 0.823 + - 0.76 + - 0.736 + - 0.743 + - 0.856 + - 1.079 + - 0.888 + - 0.778 + - 0.671 + - 0.65 + - 0.643 + - 0.629 + - 0.629 + - 0.618 + - 0.638 + - 0.619 + - 0.61 + - 0.627 + - 0.601 + - 0.617 + - 0.608 + - 0.498 + - 0.5112 + - 0.4922 + - 0.4959 + - 0.4954 + - 0.4836 + - 0.514 + - 0.5005 + - 0.4917 + - 0.4881 + - 0.4656 + - 0.4793 + - 0.4638 + - 0.4557 + - 0.4666 + - 0.4468 + - 0.4534 + - 0.4471 + - 0.4448 + - 0.4469 + - 0.536 + - 0.4426 + - 0.4388 + - 0.534 + - 0.4368 + - 0.438 + - 0.531 + - 0.4379 + - 0.535 + - 0.4404 + - 0.4405 + - 0.4409 + - 0.4472 + - 0.4555 + - 0.4433 + - 0.4437 + - 0.4454 + - 0.4448 + - 0.4465 + - 0.4499 + - 0.4488 + - 0.54 + - 0.4534 + - 0.4472 + - 0.455 + - 0.4562 + - 0.452 + - 0.4639 + - 0.538 + - 0.4573 + - 0.4604 + - 0.4533 + - 0.4692 + - 0.566 + - 0.4457 + - 0.4457 + - 0.5154 + - 0.5084 + - 0.528 + - 0.552 + - 0.56 + - 0.567 + - 0.546 + - 0.495 + - 0.4809 + - 0.4732 + - 0.4861 + - 0.4632 + - 0.529 + - 0.4748 + - 0.5007 + - 0.5711 + - 0.595 + - 0.5469 + - 0.626 + - 0.541 + - 0.543 + - 0.533 + - 0.541 + - 0.4695 + - 0.53 + - 0.539 + - 0.529 + - 0.542 + - 0.4681 + - 0.536 + - 0.542 + - 0.535 + - 0.563 + - 0.4805 + - 0.647 + - 0.609 + - 0.553 + - 0.583 + - 0.576 + - 0.6294 + - 0.5885 + - 0.556 + - 0.578 + - 0.566 + - 0.601 + - 0.5627 + - 0.5675 + - 0.592 + - 0.5166 + - 0.589 + - 0.5291 + - 0.5892 + - 0.5976 + - 0.5834 + - 0.6512 + - 0.6748 + - 0.6615 + - 0.6003 + - 0.5669 + - 0.5587 + - 0.5507 + - 0.5871 + - 0.616 + - 0.637 + - 0.633 + - 0.639 + - 0.655 + - 0.641 + - 0.664 + - 0.648 + - 0.656 + - 0.663 + - 0.652 + - 0.681 + - 0.662 + - 0.673 + - 0.672 + - 0.68 + - 0.735 + - 0.732 + - 0.715 + - 0.674 + - 0.687 + - 0.702 + - 0.705 + - 0.715 + - 0.725 + - 0.707 + - 0.74 + - 0.74 + - 0.874 + - 0.737 + - 0.819 + - 0.76 + - 0.869 + - 0.9 + - 0.698 + - 0.823 + - 0.676 + - 0.682 + - 0.766 + - 0.68 + - 0.685 + - 0.694 + - 0.695 + - 0.689 + - 0.727 + - 0.695 + - 0.688 + - 0.677 + - 0.736 + - 0.651 + - 0.661 + - 0.6199 + - 0.6223 + - 0.6036 + - 0.6003 + - 0.5991 + - 0.598 + - 0.591 + - 0.5764 + - 0.577 + - 0.5593 + - 0.597 + - 0.576 + - 0.574 + - 0.578 + - 0.579 + - 0.575 + - 0.576 + - 0.568 + - 0.575 + - 0.569 + - 0.559 + - 0.568 + - 0.5401 + - 0.55 + - 0.5575 + - 0.578 + - 0.5635 + - 0.5786 + - 0.5807 + - 0.581 + - 0.573 + - 0.569 + - 0.567 + - 0.552 + - 0.55 + - 0.558 + - 0.552 + - 0.562 + - 0.574 + - 0.575 + - 0.629 + - 0.682 + - 0.756 + - 1.05 + - 1.122 + - 1.1402 + - 1.154 + - 1.131 + - 1.123 + - 1.159 + - 1.106 + - 1.116 + - 1.069 + - 1.077 + - 1.155 + - 1.162 + - 1.1402 + - 0.644 + - 1.208 + - 1.1402 + - 1.295 + - 1.258 + - 1.1402 + - 0.606 + - 0.603 + - 0.563 + - 0.592 + - 0.607 + - 0.611 + - 0.612 + - 0.618 + - 0.626 + - 0.629 + - 0.583 + - 0.8646 + - 0.626 + - 0.639 + - 0.559 + - 0.827 + - 0.612 + - 0.576 + - 0.58 + - 0.575 + - 0.688 + - 0.697 + - 0.743 + - 0.681 + - 0.832 + - 0.719 + - 0.785 + - 0.878 + - 0.9402 + - 1.0054 + - 1.073 + - 1.129 + - 1.035 + - 1.027 + - 0.9703 + - 1.195 + - 0.9153 + - 1.266 + - 1.153 + - 1.348 + - 1.18 + - 1.269 + - 1.311 + - 0.9914 + - 1.359 + - 1.166 + - 1.139 + - 1.2817 + - 1.398 + - 1.542 + - 1.229 + - 1.377 + - 1.28 + - 1.245 + - 1.1188 + - 1.193 + - 1.293 + - 1.275 + - 1.331 + - 1.34 + - 1.099 + - 1.048 + - 1.124 + - 1.225 + - 1.183 + - 1.196 + - 1.4 + - 1.333 + - 1.417 + - 1.326 + - 1.305 + - 1.0638 + - 1.268 + - 1.217 + - 1.289 + - 1.395 + - 1.232 + - 1.435 + - 1.298 + - 1.328 + - 1.262 + - 1.199 + - 1.391 + - 1.233 + - 1.329 + - 1.664 + - 1.509 + - 1.349 + - 1.481 + - 1.595 + - 1.485 + - 1.532 + - 1.504 + - 1.584 + - 1.609 + - 1.516 + - 1.489 + - 1.502 + - 1.544 + - 1.611 + - 1.539 + - 1.296 + - 1.288 + - 1.241 + - 1.32 + - 1.313 + - 1.301 + - 1.843 + - 1.747 + - 1.711 + - 1.771 + - 1.937 + - 1.575 + - 1.573 + - 1.5 + - 1.459 + - 1.402 + - 1.363 + - 2.201 + - 2.127 + - 2.177 + - 2.157 + - 2.192 + - 2.146 + - 2.151 + - 2.071 + - 1.986 + - 1.845 + - 1.687 + - 1.505 + - 1.373 + - 1.229 + - 1.113 + - 1.004 + - 0.936 + - 0.895 + - 0.871 + - 0.841 + - 0.821 + - 0.805 + - 0.8 + - 0.792 + - 0.797 + - 0.791 + - 0.783 + - 0.777 + - 0.785 + - 0.787 + - 0.789 + - 0.793 + - 0.794 + - 0.745 + - 0.75 + - 0.748 + - 0.749 + - 0.744 + - 0.733 + - 0.733 + - 0.741 + - 0.746 + - 0.746 + - 0.738 + - 0.743 + - 0.745 + - 0.749 + - 0.75 + - 0.75 + - 0.884 + - 0.906 + - 0.917 + - 0.924 + - 0.922 + - 0.928 + - 0.921 + - 0.938 + - 0.931 + - 0.943 + - 0.946 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + - filter: GOMsaver + filename: cycle_dir/cris-fsr_npp-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, + 1983, 1984, 1985, 1986, 1987, 2119, 2140, 2143, 2147, 2153, 2158, 2161, + 2168, 2171, 2175, 2182 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: cris-fsr_npp + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: &id012 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 31 + - 31 + - 30 + - 31 + - 30 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 31 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 31 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 31 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + - 30 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: cris-fsr_npp + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 0.4 + - 2.0 + - 0.4 + - 2.0 + - 0.4 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.4 + - 0.4 + - 0.4 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 1.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id012 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: cris-fsr_npp + get values: + time interpolation: linear + - obs space: + name: GMI GPM + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/gmi_gpm.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.gmi_gpm.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: gmi_gpm + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/gmi_gpm.20231009T150000Z.satbias.nc4 + output file: cycle_dir/gmi_gpm.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/gmi_gpm.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/gmi_gpm.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: cloudWaterContent + sensor: GMI_GPM + ch37v: 6 + ch37h: 7 + order: 2 + tlapse: cycle_dir/gmi_gpm.20231009T150000Z.tlapse.txt + - name: cloudWaterContent + sensor: GMI_GPM + ch37v: 6 + ch37h: 7 + tlapse: cycle_dir/gmi_gpm.20231009T150000Z.tlapse.txt + - name: sensorScanAngle + var_name: sensorScanPosition + order: 4 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 3 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 2 + - name: sensorScanAngle + var_name: sensorScanPosition + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/gmi_gpm.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/gmi_gpm.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-9 + minvalue: 50.0 + maxvalue: 320.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 10-13 + minvalue: 70.0 + maxvalue: 320.0 + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 5 + maxvalue: 70 + - variable: + name: MetaData/latitude + minvalue: -55.0 + maxvalue: 55.0 + - variable: + name: MetaData/heightOfSurface + maxvalue: 2000 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + minvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/latitude + minvalue: -20.0 + maxvalue: 0.0 + - variable: + name: MetaData/longitude + minvalue: 25.0 + maxvalue: 40.0 + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/cloudWaterContent_obs + type: float + function: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + maxvalue: 900 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - HofX + maxvalue: 900 + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/cloudWaterContent_hofx + type: float + function: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - HofX + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + minvalue: 0.0 + maxvalue: 0.05 + - variable: + name: ObsFunction/Emissivity_Diff_GMI + options: + channel: 2 + regression_constant_1: 0.1329 + regression_constant_2: 0.42468 + regression_coeff_1: + - -0.00548 + - 0.00772 + - 0.0053 + - -0.00425 + - 0.00053 + - 8e-05 + - -3e-05 + - -0.00144 + - 0.00059 + - -0.00016 + - 3e-05 + - -0.00011 + - 0.00017 + regression_coeff_2: + - 0.00289 + - -0.00142 + minvalue: 0.01 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + minvalue: 0.0 + maxvalue: 0.05 + - variable: + name: ObsFunction/Emissivity_Diff_GMI + options: + channel: 4 + regression_constant_1: 0.15627 + regression_constant_2: 0.83807 + regression_coeff_1: + - -0.01084 + - 0.01194 + - 0.01111 + - -0.00784 + - 0.0006 + - 8e-05 + - -3e-05 + - -0.00248 + - 0.00105 + - -8e-05 + - 0.0 + - -0.00013 + - 0.00016 + regression_coeff_2: + - 0.00048 + - -0.00207 + minvalue: 0.035 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: ObsFunction/CLWRetMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + minvalue: 0.0 + maxvalue: 0.05 + - variable: + name: ObsFunction/Emissivity_Diff_GMI + options: + channel: 7 + regression_constant_1: 0.30306 + regression_constant_2: 1.24071 + regression_coeff_1: + - -0.01793 + - 0.0173 + - 0.01784 + - -0.01199 + - 0.00067 + - 0.00013 + - -4e-05 + - -0.00365 + - 0.00154 + - -4e-05 + - -1e-05 + - -0.00015 + - 0.00017 + regression_coeff_2: + - 0.00068 + - -0.00342 + minvalue: 0.05 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch37v: 6 + clwret_ch37h: 7 + clwret_types: + - ObsValue + - HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.3 + - 0.2 + - 0.3 + - 0.3 + x2: + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + err0: + - 2.7 + - 3.7 + - 3.5 + - 4.5 + - 4.0 + - 3.8 + - 300.0 + - 5.0 + - 11.5 + - 5.0 + - 5.0 + - 2.5 + - 3.0 + err1: + - 17.0 + - 23.0 + - 13.0 + - 25.0 + - 11.0 + - 13.0 + - 23.0 + - 10.0 + - 20.0 + - 15.0 + - 20.0 + - 8.0 + - 13.0 + err2: + - 25.0 + - 40.0 + - 40.0 + - 55.0 + - 35.0 + - 25.0 + - 500.0 + - 50.0 + - 50.0 + - 50.0 + - 50.0 + - 30.0 + - 40.0 + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 1,2,4,6 + threshold: 2.0 + absolute threshold: 30.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 9,10,11 + threshold: 2.0 + absolute threshold: 20.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 3,5,8 + threshold: 2.0 + absolute threshold: 15.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 12,13 + threshold: 2.0 + absolute threshold: 10.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 7 + threshold: 2.0 + absolute threshold: 5.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: gmi_gpm + use_flag: None + minvalue: 1e-12 + action: + name: reject + - filter: GOMsaver + filename: cycle_dir/gmi_gpm-geovals.20231009T210000Z.nc4 + observation_name: gmi_gpm + get values: + time interpolation: linear + - obs space: + name: gnssrobndnbam + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/gps.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - sequenceNumber + sort variable: impactHeightRO + sort order: ascending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.gps.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - bendingAngle + obs operator: + name: GnssroBndNBAM + obs options: + use_compress: 1 + vertlayer: full + sr_steps: 2 + super_ref_qc: NBAM + obs filters: + - filter: BlackList + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 41,265,266,421,440,724,725,726,727,728,729 + - filter: Perform Action + filter variables: + - name: bendingAngle + where: + - variable: PreUseFlag/bendingAngle + minvalue: 1 + action: + name: reject + - filter: Domain Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/impactHeightRO + minvalue: 0 + maxvalue: 55000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 265,266,267,268,269 + test variables: + - name: MetaData/impactHeightRO + maxvalue: 45000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 3-5 + test variables: + - name: MetaData/impactHeightRO + minvalue: 8000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 267,268,269 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 401 + test variables: + - name: MetaData/impactHeightRO + minvalue: 5000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 267,268,269 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 402-999 + test variables: + - name: MetaData/impactHeightRO + minvalue: 9000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 265,266 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 401 + test variables: + - name: MetaData/impactHeightRO + minvalue: 5000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 265,266 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 402-999 + test variables: + - name: MetaData/impactHeightRO + minvalue: 8000.1 + action: + name: reject + - filter: ROobserror + filter variables: + - name: bendingAngle + errmodel: NBAM + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: inflate error + inflation factor: 2.0 + where: + - variable: MetaData/satelliteIdentifier + is_in: 267,268,269 + - filter: Variable Assignment + assignments: + - name: JediAdjustObsError/bendingAngle + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/bendingAngle + defer to post: true + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: assign error + error parameter: 1.0 + where: + - variable: + name: JediAdjustObsError/bendingAngle + maxvalue: 1.0 + - variable: + name: JediAdjustObsError/bendingAngle + value: is_valid + - variable: + name: MetaData/satelliteIdentifier + is_in: 3,5,41,42,43,44,267,268,269,440,421,724,725,726,727,728,729, 750,751,752,753,754,755,821,825 + defer to post: true + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: assign error + error parameter: 10.0 + where: + - variable: + name: JediAdjustObsError/bendingAngle + minvalue: 10.0 + - variable: + name: JediAdjustObsError/bendingAngle + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: bendingAngle + threshold: 5 + action: + name: reject + defer to post: true + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: assign error + error function: JediAdjustObsError/bendingAngle + where: + - variable: + name: JediAdjustObsError/bendingAngle + value: is_valid + defer to post: true + - filter: Background Check RONBAM + filter variables: + - name: bendingAngle + defer to post: true + - filter: Background Check RONBAM + filter variables: + - name: bendingAngle + action: + name: RONBAMErrInflate_GEOS + defer to post: true + - filter: GOMsaver + filename: cycle_dir/gps-geovals.20231009T210000Z.nc4 + observation_name: gps + get values: + time interpolation: linear + - obs space: + name: IASI METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/iasi_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.iasi_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: iasi_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/iasi_metop-b.20231009T150000Z.satbias.nc4 + output file: cycle_dir/iasi_metop-b.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/iasi_metop-b.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/iasi_metop-b.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/iasi_metop-b.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/iasi_metop-b.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/iasi_metop_141_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id013 + - 0.727 + - 0.81 + - 0.75 + - 0.79 + - 0.7055 + - 0.74 + - 0.68 + - 0.72 + - 0.6526 + - 0.65 + - 0.665 + - 0.69 + - 0.6394 + - 0.64 + - 0.6528 + - 0.6065 + - 0.6246 + - 0.61 + - 0.6423 + - 0.5995 + - 0.59 + - 0.6069 + - 0.6 + - 0.5965 + - 0.64 + - 0.62 + - 0.589 + - 0.5865 + - 0.65 + - 0.5861 + - 0.61 + - 0.5874 + - 0.68 + - 0.606 + - 0.68 + - 4.38 + - 3.05 + - 2.31 + - 1.56 + - 1.33 + - 1.58 + - 0.93 + - 0.5832 + - 0.5587 + - 0.5867 + - 0.58 + - 0.5655 + - 0.5522 + - 0.5864 + - 0.5475 + - 0.5854 + - 0.5455 + - 0.5811 + - 0.5376 + - 0.5452 + - 0.5686 + - 0.5329 + - 0.5655 + - 0.5302 + - 0.545 + - 0.5628 + - 0.59 + - 0.5262 + - 0.559 + - 0.5264 + - 0.5442 + - 0.51 + - 0.5513 + - 0.5224 + - 0.5523 + - 0.5188 + - 0.5487 + - 0.5245 + - 0.58 + - 0.5437 + - 0.5343 + - 0.5364 + - 0.64 + - 0.5338 + - 0.72 + - 0.537 + - 0.75 + - 0.51 + - 0.65 + - 0.5274 + - 0.529 + - 0.5187 + - 0.5228 + - 1.12 + - 0.5222 + - 0.5109 + - 0.67 + - 0.5133 + - 0.5179 + - 0.507 + - 0.67 + - 0.5091 + - 0.62 + - 0.5093 + - 0.69 + - 0.5048 + - 0.5024 + - 0.78 + - 0.497 + - 0.5337 + - 0.4865 + - 0.4915 + - 0.4835 + - 0.4869 + - 0.87 + - 0.4824 + - 0.4852 + - 0.84 + - 0.84 + - 0.84 + - 0.5318 + - 0.8 + - 0.4772 + - 0.98 + - 0.488 + - 0.4978 + - 0.5157 + - 0.61 + - 0.5213 + - 0.4884 + - 0.79 + - 0.62 + - 0.66 + - 0.4691 + - 0.65 + - 0.4809 + - 0.468 + - 0.62 + - 0.4679 + - 0.6913 + - 0.4705 + - 0.4785 + - 0.47 + - 0.4773 + - 0.4703 + - 0.98 + - 0.4697 + - 0.4662 + - 0.65 + - 0.467 + - 0.4883 + - 0.4684 + - 0.4684 + - 0.4947 + - 0.5393 + - 0.5024 + - 0.4715 + - 0.621 + - 0.6136 + - 0.5316 + - 1.78 + - 0.5099 + - 1.14 + - 0.539 + - 1.79 + - 0.508 + - 0.5723 + - 1.94 + - 2.01 + - 0.49 + - 0.5647 + - 0.5022 + - 1.47 + - 0.5815 + - 0.6782 + - 2.13 + - 0.5445 + - 1.52 + - 0.5555 + - 1.96 + - 2.31 + - 2.33 + - 2.32 + - 2.31 + - 0.6994 + - 0.7006 + - 0.706 + - 0.9785 + - 0.7023 + - 0.6991 + - 0.6946 + - 2.28 + - 2.26 + - 2.26 + - 2.26 + - 0.6608 + - 0.6835 + - 0.6822 + - 2.24 + - 2.26 + - 0.6735 + - 2.28 + - 0.667 + - 0.7732 + - 0.6642 + - 0.648 + - 0.6629 + - 2.29 + - 2.29 + - 0.6799 + - 0.623 + - 2.32 + - 0.603 + - 0.6224 + - 2.32 + - 0.6187 + - 2.31 + - 2.31 + - 2.28 + - 2.29 + - 2.28 + - 2.26 + - 1.966 + - 2.27 + - 2.26 + - 2.25 + - 2.27 + - 2.24 + - 2.21 + - 2.24 + - 2.17 + - 2.18 + - 2.17 + - 2.21 + - 1.4 + - 2.16 + - 2.2 + - 2.13 + - 2.12 + - 2.13 + - 2.1 + - 2.12 + - 2.11 + - 2.09 + - 2.09 + - 2.08 + - 2.09 + - 2.04 + - 2.04 + - 1.966 + - 2.01 + - 2.05 + - 2.03 + - 2.06 + - 1.98 + - 1.95 + - 1.94 + - 1.91 + - 1.857 + - 1.76 + - 1.748 + - 1.83 + - 2.04 + - 1.748 + - 1.99 + - 2.075 + - 2.07 + - 2.02 + - 2.04 + - 2.1 + - 1.966 + - 2.18 + - 2.21 + - 2.24 + - 2.23 + - 2.23 + - 1.98 + - 2.2 + - 2.18 + - 2.18 + - 2.21 + - 2.23 + - 2.24 + - 2.24 + - 2.25 + - 1.8 + - 2.24 + - 1.73 + - 1.73 + - 2.27 + - 1.67 + - 2.21 + - 1.72 + - 2.23 + - 2.23 + - 2.23 + - 2.24 + - 2.23 + - 2.12 + - 2.17 + - 1.74 + - 2.02 + - 1.88 + - 1.67 + - 1.73 + - 1.83 + - 1.82 + - 1.73 + - 1.83 + - 2.19 + - 1.84 + - 1.89 + - 1.6 + - 1.71 + - 1.86 + - 1.85 + - 1.84 + - 1.87 + - 1.91 + - 1.52 + - 1.95 + - 1.87 + - 1.89 + - 1.91 + - 1.91 + - 1.93 + - 1.9 + - 1.91 + - 1.9 + - 1.89 + - 1.89 + - 1.91 + - 1.9 + - 1.91 + - 1.91 + - 1.91 + - 1.93 + - 1.94 + - 1.91 + - 1.92 + - 1.77 + - 1.91 + - 1.95 + - 1.19 + - 1.96 + - 1.98 + - 1.94 + - 1.55 + - 1.91 + - 1.92 + - 1.92 + - 1.97 + - 1.93 + - 1.99 + - 1.86 + - 1.12 + - 1.93 + - 1.92 + - 1.95 + - 1.85 + - 1.84 + - 1.91 + - 1.12 + - 1.82 + - 1.82 + - 1.95 + - 1.24 + - 1.94 + - 1.96 + - 1.21 + - 1.83 + - 1.96 + - 1.36 + - 1.96 + - 1.82 + - 1.92 + - 1.68 + - 1.93 + - 1.23 + - 1.96 + - 1.93 + - 1.86 + - 1.41 + - 1.16 + - 1.6 + - 1.25 + - 1.2 + - 1.65 + - 1.66 + - 1.87 + - 1.94 + - 1.96 + - 1.91 + - 1.25 + - 1.93 + - 1.91 + - 1.7 + - 0.99 + - 1.81 + - 1.92 + - 1.95 + - 1.5 + - 1.47 + - 1.15 + - 1.58 + - 1.18 + - 1.82 + - 1.13 + - 1.83 + - 1.91 + - 1.26 + - 1.27 + - 1.91 + - 1.45 + - 1.6 + - 1.29 + - 1.94 + - 1.94 + - 1.23 + - 1.95 + - 1.21 + - 1.94 + - 1.86 + - 1.9 + - 1.33 + - 1.75 + - 2.02 + - 1.98 + - 2.03 + - 1.83 + - 1.5 + - 2.04 + - 2.02 + - 1.9 + - 2.0 + - 2.02 + - 1.95 + - 1.93 + - 1.95 + - 1.95 + - 1.99 + - 2.0 + - 1.94 + - 1.96 + - 1.86 + - 1.92 + - 1.88 + - 1.86 + - 1.84 + - 1.87 + - 1.77 + - 1.89 + - 1.89 + - 1.88 + - 1.94 + - 1.82 + - 1.79 + - 1.86 + - 2.06 + - 2.33 + - 1.88 + - 1.86 + - 1.81 + - 1.8 + - 1.8 + - 1.86 + - 1.9 + - 2.0 + - 2.06 + - 2.1 + - 2.2 + - 2.0 + - 2.16 + - 1.98 + - 1.8 + - 1.8 + - 1.85 + - 1.75 + - 2.04 + - 2.19 + - 2.14 + - 2.19 + - 1.86 + - 2.1 + - 2.11 + - 2.18 + - 2.03 + - 2.28 + - 2.19 + - 2.26 + - 2.26 + - 2.21 + - 2.21 + - 2.26 + - 2.33 + - 2.27 + - 2.21 + - 2.12 + - 2.23 + - 2.26 + - 2.25 + - 1.88 + - 2.26 + - 2.24 + - 2.36 + - 2.29 + - 2.35 + - 2.3 + - 2.27 + - 2.08 + - 2.05 + - 2.27 + - 2.28 + - 2.27 + - 2.28 + - 1.97 + - 2.25 + - 2.25 + - 2.25 + - 2.31 + - 2.28 + - 2.27 + - 2.13 + - 2.24 + - 2.28 + - 2.28 + - 2.41 + - 2.34 + - 9.32 + - 2.28 + - 2.38 + - 2.27 + - 2.27 + - 2.39 + - 2.11 + - 2.09 + - 2.1 + - 2.06 + - 2.12 + - 2.08 + - 2.0 + - 1.93 + - 2.02 + - 2.55 + - 1.54 + - 1.64 + - 1.51 + - 1.55 + - 2.82 + - 2.92 + - 2.55 + - 2.37 + - 1.85 + - 1.6 + - 1.72 + - 1.74 + - 1.79 + - 1.9 + - 1.94 + - 2.0 + - 2.04 + - 2.08 + - 2.12 + - 2.13 + - 2.16 + - 2.18 + - 2.18 + - 2.2 + - 2.2 + - 2.41 + - 2.39 + - 2.38 + - 2.4 + - 2.42 + - 2.41 + - 2.43 + - 2.45 + - 2.43 + - 2.45 + - 2.43 + - 2.4 + - 2.44 + - 2.4 + - 2.42 + - 2.43 + - 2.45 + - 2.45 + - 2.45 + - 2.46 + - 2.45 + - 2.45 + - 2.43 + - 2.51 + - 2.48 + - 2.48 + - 2.53 + - 2.46 + - 2.49 + - 2.5 + - 2.5 + - 2.5 + - 2.52 + - 2.52 + - 2.54 + - 2.5 + - 2.48 + - 2.5 + - 2.55 + - 2.5 + - 2.48 + - 2.5 + - 2.5 + - 2.52 + - 2.52 + - 2.48 + - 2.5 + - 2.5 + - 2.52 + - 2.46 + - 2.53 + - 9.0 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + - filter: GOMsaver + filename: cycle_dir/iasi_metop-b-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 7024, 7027, 7029, 7032, 7038, 7043, 7046, 7049, 7069, 7072, 7076, + 7081, 7084, 7089, 7099, 7209, 7222, 7231, 7235, 7247, 7267, 7269, 7284, + 7389, 7419, 7423, 7424, 7426, 7428, 7431, 7436, 7444, 7475, 7549, 7584, + 7665, 7666, 7831, 7836, 7853, 7865, 7885, 7888, 7912, 7950, 7972, 7980, + 7995, 8007, 8015, 8055, 8078 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: iasi_metop-b + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + error parameter vector: *id013 + use_flag: None + use_flag_clddet: &id014 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + error parameter vector: *id013 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: iasi_metop-b + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + error parameter vector: *id013 + obserr_bound_max: + - 3.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 4.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 4.0 + - 4.0 + - 3.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.75 + - 2.0 + - 0.75 + - 2.0 + - 2.0 + - 2.0 + - 0.75 + - 0.75 + - 0.75 + - 0.75 + - 2.0 + - 0.75 + - 0.75 + - 2.0 + - 0.75 + - 0.75 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 2.0 + - 2.5 + - 2.5 + - 3.0 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 3.5 + - 2.5 + - 2.5 + - 3.0 + - 3.5 + - 3.0 + - 4.0 + - 4.0 + - 0.75 + - 4.0 + - 4.0 + - 4.0 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.0 + - 4.5 + - 4.0 + - 4.0 + - 4.5 + - 2.5 + - 3.0 + - 2.5 + - 3.0 + - 2.5 + - 3.0 + - 2.0 + - 2.5 + - 2.5 + - 3.0 + - 3.0 + - 2.5 + - 3.0 + - 3.0 + - 3.0 + - 2.5 + - 2.5 + - 4.0 + - 4.5 + - 4.5 + - 5.0 + - 4.0 + - 4.0 + - 5.0 + - 5.0 + - 5.0 + - 5.0 + - 5.5 + - 5.5 + - 4.0 + - 5.0 + - 4.0 + - 4.5 + - 5.5 + - 5.5 + - 6.0 + - 4.5 + - 4.5 + - 4.0 + - 5.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.25 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.25 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.4 + - 6.0 + - 1.4 + - 6.0 + - 6.0 + - 1.4 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.5 + - 4.5 + - 6.0 + - 5.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 4.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 4.5 + - 6.0 + - 6.0 + - 4.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id014 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: iasi_metop-b + get values: + time interpolation: linear + - obs space: + name: IASI METOP-C + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/iasi_metop-c.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.iasi_metop-c.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: iasi_metop-c + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/iasi_metop-c.20231009T150000Z.satbias.nc4 + output file: cycle_dir/iasi_metop-c.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/iasi_metop-c.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/iasi_metop-c.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/iasi_metop-c.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/iasi_metop-c.20231009T210000Z.satbias_cov.nc4 + obs error: + covariance model: cross variable covariances + input file: fv3-jedi/rcov/iasi_metop_141_jedi_rcov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id015 + - 0.727 + - 0.81 + - 0.75 + - 0.79 + - 0.7055 + - 0.74 + - 0.68 + - 0.72 + - 0.6526 + - 0.65 + - 0.665 + - 0.69 + - 0.6394 + - 0.64 + - 0.6528 + - 0.6065 + - 0.6246 + - 0.61 + - 0.6423 + - 0.5995 + - 0.59 + - 0.6069 + - 0.6 + - 0.5965 + - 0.64 + - 0.62 + - 0.589 + - 0.5865 + - 0.65 + - 0.5861 + - 0.61 + - 0.5874 + - 0.68 + - 0.606 + - 0.68 + - 4.38 + - 3.05 + - 2.31 + - 1.56 + - 1.33 + - 1.58 + - 0.93 + - 0.5832 + - 0.5587 + - 0.5867 + - 0.58 + - 0.5655 + - 0.5522 + - 0.5864 + - 0.5475 + - 0.5854 + - 0.5455 + - 0.5811 + - 0.5376 + - 0.5452 + - 0.5686 + - 0.5329 + - 0.5655 + - 0.5302 + - 0.545 + - 0.5628 + - 0.59 + - 0.5262 + - 0.559 + - 0.5264 + - 0.5442 + - 0.51 + - 0.5513 + - 0.5224 + - 0.5523 + - 0.5188 + - 0.5487 + - 0.5245 + - 0.58 + - 0.5437 + - 0.5343 + - 0.5364 + - 0.64 + - 0.5338 + - 0.72 + - 0.537 + - 0.75 + - 0.51 + - 0.65 + - 0.5274 + - 0.529 + - 0.5187 + - 0.5228 + - 1.12 + - 0.5222 + - 0.5109 + - 0.67 + - 0.5133 + - 0.5179 + - 0.507 + - 0.67 + - 0.5091 + - 0.62 + - 0.5093 + - 0.69 + - 0.5048 + - 0.5024 + - 0.78 + - 0.497 + - 0.5337 + - 0.4865 + - 0.4915 + - 0.4835 + - 0.4869 + - 0.87 + - 0.4824 + - 0.4852 + - 0.84 + - 0.84 + - 0.84 + - 0.5318 + - 0.8 + - 0.4772 + - 0.98 + - 0.488 + - 0.4978 + - 0.5157 + - 0.61 + - 0.5213 + - 0.4884 + - 0.79 + - 0.62 + - 0.66 + - 0.4691 + - 0.65 + - 0.4809 + - 0.468 + - 0.62 + - 0.4679 + - 0.6913 + - 0.4705 + - 0.4785 + - 0.47 + - 0.4773 + - 0.4703 + - 0.98 + - 0.4697 + - 0.4662 + - 0.65 + - 0.467 + - 0.4883 + - 0.4684 + - 0.4684 + - 0.4947 + - 0.5393 + - 0.5024 + - 0.4715 + - 0.621 + - 0.6136 + - 0.5316 + - 1.78 + - 0.5099 + - 1.14 + - 0.539 + - 1.79 + - 0.508 + - 0.5723 + - 1.94 + - 2.01 + - 0.49 + - 0.5647 + - 0.5022 + - 1.47 + - 0.5815 + - 0.6782 + - 2.13 + - 0.5445 + - 1.52 + - 0.5555 + - 1.96 + - 2.31 + - 2.33 + - 2.32 + - 2.31 + - 0.6994 + - 0.7006 + - 0.706 + - 0.9785 + - 0.7023 + - 0.6991 + - 0.6946 + - 2.28 + - 2.26 + - 2.26 + - 2.26 + - 0.6608 + - 0.6835 + - 0.6822 + - 2.24 + - 2.26 + - 0.6735 + - 2.28 + - 0.667 + - 0.7732 + - 0.6642 + - 0.648 + - 0.6629 + - 2.29 + - 2.29 + - 0.6799 + - 0.623 + - 2.32 + - 0.603 + - 0.6224 + - 2.32 + - 0.6187 + - 2.31 + - 2.31 + - 2.28 + - 2.29 + - 2.28 + - 2.26 + - 1.966 + - 2.27 + - 2.26 + - 2.25 + - 2.27 + - 2.24 + - 2.21 + - 2.24 + - 2.17 + - 2.18 + - 2.17 + - 2.21 + - 1.4 + - 2.16 + - 2.2 + - 2.13 + - 2.12 + - 2.13 + - 2.1 + - 2.12 + - 2.11 + - 2.09 + - 2.09 + - 2.08 + - 2.09 + - 2.04 + - 2.04 + - 1.966 + - 2.01 + - 2.05 + - 2.03 + - 2.06 + - 1.98 + - 1.95 + - 1.94 + - 1.91 + - 1.857 + - 1.76 + - 1.748 + - 1.83 + - 2.04 + - 1.748 + - 1.99 + - 2.075 + - 2.07 + - 2.02 + - 2.04 + - 2.1 + - 1.966 + - 2.18 + - 2.21 + - 2.24 + - 2.23 + - 2.23 + - 1.98 + - 2.2 + - 2.18 + - 2.18 + - 2.21 + - 2.23 + - 2.24 + - 2.24 + - 2.25 + - 1.8 + - 2.24 + - 1.73 + - 1.73 + - 2.27 + - 1.67 + - 2.21 + - 1.72 + - 2.23 + - 2.23 + - 2.23 + - 2.24 + - 2.23 + - 2.12 + - 2.17 + - 1.74 + - 2.02 + - 1.88 + - 1.67 + - 1.73 + - 1.83 + - 1.82 + - 1.73 + - 1.83 + - 2.19 + - 1.84 + - 1.89 + - 1.6 + - 1.71 + - 1.86 + - 1.85 + - 1.84 + - 1.87 + - 1.91 + - 1.52 + - 1.95 + - 1.87 + - 1.89 + - 1.91 + - 1.91 + - 1.93 + - 1.9 + - 1.91 + - 1.9 + - 1.89 + - 1.89 + - 1.91 + - 1.9 + - 1.91 + - 1.91 + - 1.91 + - 1.93 + - 1.94 + - 1.91 + - 1.92 + - 1.77 + - 1.91 + - 1.95 + - 1.19 + - 1.96 + - 1.98 + - 1.94 + - 1.55 + - 1.91 + - 1.92 + - 1.92 + - 1.97 + - 1.93 + - 1.99 + - 1.86 + - 1.12 + - 1.93 + - 1.92 + - 1.95 + - 1.85 + - 1.84 + - 1.91 + - 1.12 + - 1.82 + - 1.82 + - 1.95 + - 1.24 + - 1.94 + - 1.96 + - 1.21 + - 1.83 + - 1.96 + - 1.36 + - 1.96 + - 1.82 + - 1.92 + - 1.68 + - 1.93 + - 1.23 + - 1.96 + - 1.93 + - 1.86 + - 1.41 + - 1.16 + - 1.6 + - 1.25 + - 1.2 + - 1.65 + - 1.66 + - 1.87 + - 1.94 + - 1.96 + - 1.91 + - 1.25 + - 1.93 + - 1.91 + - 1.7 + - 0.99 + - 1.81 + - 1.92 + - 1.95 + - 1.5 + - 1.47 + - 1.15 + - 1.58 + - 1.18 + - 1.82 + - 1.13 + - 1.83 + - 1.91 + - 1.26 + - 1.27 + - 1.91 + - 1.45 + - 1.6 + - 1.29 + - 1.94 + - 1.94 + - 1.23 + - 1.95 + - 1.21 + - 1.94 + - 1.86 + - 1.9 + - 1.33 + - 1.75 + - 2.02 + - 1.98 + - 2.03 + - 1.83 + - 1.5 + - 2.04 + - 2.02 + - 1.9 + - 2.0 + - 2.02 + - 1.95 + - 1.93 + - 1.95 + - 1.95 + - 1.99 + - 2.0 + - 1.94 + - 1.96 + - 1.86 + - 1.92 + - 1.88 + - 1.86 + - 1.84 + - 1.87 + - 1.77 + - 1.89 + - 1.89 + - 1.88 + - 1.94 + - 1.82 + - 1.79 + - 1.86 + - 2.06 + - 2.33 + - 1.88 + - 1.86 + - 1.81 + - 1.8 + - 1.8 + - 1.86 + - 1.9 + - 2.0 + - 2.06 + - 2.1 + - 2.2 + - 2.0 + - 2.16 + - 1.98 + - 1.8 + - 1.8 + - 1.85 + - 1.75 + - 2.04 + - 2.19 + - 2.14 + - 2.19 + - 1.86 + - 2.1 + - 2.11 + - 2.18 + - 2.03 + - 2.28 + - 2.19 + - 2.26 + - 2.26 + - 2.21 + - 2.21 + - 2.26 + - 2.33 + - 2.27 + - 2.21 + - 2.12 + - 2.23 + - 2.26 + - 2.25 + - 1.88 + - 2.26 + - 2.24 + - 2.36 + - 2.29 + - 2.35 + - 2.3 + - 2.27 + - 2.08 + - 2.05 + - 2.27 + - 2.28 + - 2.27 + - 2.28 + - 1.97 + - 2.25 + - 2.25 + - 2.25 + - 2.31 + - 2.28 + - 2.27 + - 2.13 + - 2.24 + - 2.28 + - 2.28 + - 2.41 + - 2.34 + - 9.32 + - 2.28 + - 2.38 + - 2.27 + - 2.27 + - 2.39 + - 2.11 + - 2.09 + - 2.1 + - 2.06 + - 2.12 + - 2.08 + - 2.0 + - 1.93 + - 2.02 + - 2.55 + - 1.54 + - 1.64 + - 1.51 + - 1.55 + - 2.82 + - 2.92 + - 2.55 + - 2.37 + - 1.85 + - 1.6 + - 1.72 + - 1.74 + - 1.79 + - 1.9 + - 1.94 + - 2.0 + - 2.04 + - 2.08 + - 2.12 + - 2.13 + - 2.16 + - 2.18 + - 2.18 + - 2.2 + - 2.2 + - 2.41 + - 2.39 + - 2.38 + - 2.4 + - 2.42 + - 2.41 + - 2.43 + - 2.45 + - 2.43 + - 2.45 + - 2.43 + - 2.4 + - 2.44 + - 2.4 + - 2.42 + - 2.43 + - 2.45 + - 2.45 + - 2.45 + - 2.46 + - 2.45 + - 2.45 + - 2.43 + - 2.51 + - 2.48 + - 2.48 + - 2.53 + - 2.46 + - 2.49 + - 2.5 + - 2.5 + - 2.5 + - 2.52 + - 2.52 + - 2.54 + - 2.5 + - 2.48 + - 2.5 + - 2.55 + - 2.5 + - 2.48 + - 2.5 + - 2.5 + - 2.52 + - 2.52 + - 2.48 + - 2.5 + - 2.5 + - 2.52 + - 2.46 + - 2.53 + - 9.0 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + - filter: GOMsaver + filename: cycle_dir/iasi_metop-c-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 7024, 7027, 7029, 7032, 7038, 7043, 7046, 7049, 7069, 7072, 7076, + 7081, 7084, 7089, 7099, 7209, 7222, 7231, 7235, 7247, 7267, 7269, 7284, + 7389, 7419, 7423, 7424, 7426, 7428, 7431, 7436, 7444, 7475, 7549, 7584, + 7665, 7666, 7831, 7836, 7853, 7865, 7885, 7888, 7912, 7950, 7972, 7980, + 7995, 8007, 8015, 8055, 8078 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.00001 + maxvalue: 549.99999 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: iasi_metop-c + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualIR + channels: None + options: + channels: None + error parameter vector: *id015 + use_flag: None + use_flag_clddet: &id016 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 31 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 31 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + error parameter vector: *id015 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: iasi_metop-c + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + error parameter vector: *id015 + obserr_bound_max: + - 3.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 4.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 4.0 + - 4.0 + - 3.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 0.75 + - 2.0 + - 0.75 + - 2.0 + - 2.0 + - 2.0 + - 0.75 + - 0.75 + - 0.75 + - 0.75 + - 2.0 + - 0.75 + - 0.75 + - 2.0 + - 0.75 + - 0.75 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 2.0 + - 2.5 + - 2.5 + - 3.0 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 3.5 + - 2.5 + - 2.5 + - 3.0 + - 3.5 + - 3.0 + - 4.0 + - 4.0 + - 0.75 + - 4.0 + - 4.0 + - 4.0 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.5 + - 4.0 + - 4.5 + - 4.0 + - 4.0 + - 4.5 + - 2.5 + - 3.0 + - 2.5 + - 3.0 + - 2.5 + - 3.0 + - 2.0 + - 2.5 + - 2.5 + - 3.0 + - 3.0 + - 2.5 + - 3.0 + - 3.0 + - 3.0 + - 2.5 + - 2.5 + - 4.0 + - 4.5 + - 4.5 + - 5.0 + - 4.0 + - 4.0 + - 5.0 + - 5.0 + - 5.0 + - 5.0 + - 5.5 + - 5.5 + - 4.0 + - 5.0 + - 4.0 + - 4.5 + - 5.5 + - 5.5 + - 6.0 + - 4.5 + - 4.5 + - 4.0 + - 5.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.25 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.25 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.4 + - 6.0 + - 1.4 + - 6.0 + - 6.0 + - 1.4 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 1.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.5 + - 4.5 + - 6.0 + - 5.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 4.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 4.5 + - 6.0 + - 6.0 + - 4.5 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 5.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + - 6.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SurfTypeCheckRad + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: *id016 + maxvalue: 1e-12 + defer to post: true + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: iasi_metop-c + get values: + time interpolation: linear + - obs space: + name: MHS METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mhs_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mhs_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: mhs_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/mhs_metop-b.20231009T150000Z.satbias.nc4 + output file: cycle_dir/mhs_metop-b.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/mhs_metop-b.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/mhs_metop-b.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/mhs_metop-b.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/mhs_metop-b.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 550.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: mhs_metop-b + use_flag: None + minvalue: 1e-12 + action: + name: reject + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 10 + maxvalue: 81 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1-3 + where: + - variable: + name: MetaData/latitude + minvalue: -25.0 + maxvalue: -10.0 + - variable: + name: MetaData/longitude + minvalue: 260.0 + maxvalue: 300.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/surface_snow_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/ice_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + maxvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: mhs_metop-b + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-b + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-b + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-b + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-b + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: GOMsaver + filename: cycle_dir/mhs_metop-b-geovals.20231009T210000Z.nc4 + observation_name: mhs_metop-b + get values: + time interpolation: linear + - obs space: + name: MHS METOP-C + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mhs_metop-c.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mhs_metop-c.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: mhs_metop-c + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/mhs_metop-c.20231009T150000Z.satbias.nc4 + output file: cycle_dir/mhs_metop-c.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/mhs_metop-c.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/mhs_metop-c.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/mhs_metop-c.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/mhs_metop-c.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 550.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: mhs_metop-c + use_flag: None + minvalue: 1e-12 + action: + name: reject + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 10 + maxvalue: 81 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1-3 + where: + - variable: + name: MetaData/latitude + minvalue: -25.0 + maxvalue: -10.0 + - variable: + name: MetaData/longitude + minvalue: 260.0 + maxvalue: 300.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/surface_snow_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/ice_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + maxvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: mhs_metop-c + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-c + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-c + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-c + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-c + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: GOMsaver + filename: cycle_dir/mhs_metop-c-geovals.20231009T210000Z.nc4 + observation_name: mhs_metop-c + get values: + time interpolation: linear + - obs space: + name: MHS NOAA-19 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mhs_n19.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mhs_n19.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: mhs_n19 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/mhs_n19.20231009T150000Z.satbias.nc4 + output file: cycle_dir/mhs_n19.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/mhs_n19.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/mhs_n19.20231009T150000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/mhs_n19.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/mhs_n19.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 550.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: mhs_n19 + use_flag: None + minvalue: 1e-12 + action: + name: reject + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 10 + maxvalue: 81 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1-3 + where: + - variable: + name: MetaData/latitude + minvalue: -25.0 + maxvalue: -10.0 + - variable: + name: MetaData/longitude + minvalue: 260.0 + maxvalue: 300.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/surface_snow_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/ice_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + maxvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: mhs_n19 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_n19 + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_n19 + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_n19 + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_n19 + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: GOMsaver + filename: cycle_dir/mhs_n19-geovals.20231009T210000Z.nc4 + observation_name: mhs_n19 + get values: + time interpolation: linear + - obs space: + name: MLS55 AURA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mls55_aura.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mls55_aura.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - ozoneProfile + obs operator: + name: VertInterp + vertical coordinate: air_pressure + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + obs filters: + - filter: Bounds Check + filter variables: + - name: ozoneProfile + minvalue: 0 + maxvalue: 10000 + action: + name: reject + - filter: Background Check + filter variables: + - name: ozoneProfile + threshold: 5.0 + action: + name: reject + - filter: GOMsaver + filename: cycle_dir/mls55_aura-geovals.20231009T210000Z.nc4 + observation_name: mls55_aura + get values: + time interpolation: linear + - obs space: + name: OMI AURA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/omi_aura.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.omi_aura.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - ozoneTotal + obs operator: + name: AtmVertInterpLay + geovals: + - mole_fraction_of_ozone_in_air + coefficients: + - 0.0078976797 + nlevels: + - 1 + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + obs filters: + - filter: Perform Action + filter variables: + - name: ozoneTotal + action: + name: assign error + error parameter: 5.0 + - filter: Bounds Check + filter variables: + - name: ozoneTotal + minvalue: 0 + maxvalue: 1000 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: ozoneTotal + test variables: + - name: MetaData/solarZenithAngle + maxvalue: 84.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: ozoneTotal + test variables: + - name: MetaData/sensorScanPosition + minvalue: 3 + maxvalue: 24 + action: + name: reject + - filter: Background Check + filter variables: + - name: ozoneTotal + threshold: 5.0 + action: + name: reject + - filter: GOMsaver + filename: cycle_dir/omi_aura-geovals.20231009T210000Z.nc4 + observation_name: omi_aura + get values: + time interpolation: linear + - obs space: + name: OMPSNM NPP + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/ompsnm_npp.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.ompsnm_npp.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - ozoneTotal + obs operator: + name: AtmVertInterpLay + geovals: + - mole_fraction_of_ozone_in_air + coefficients: + - 0.0078976797 + nlevels: + - 1 + obs filters: + - filter: Perform Action + filter variables: + - name: ozoneTotal + action: + name: assign error + error parameter: 5.216 + - filter: Bounds Check + filter variables: + - name: ozoneTotal + minvalue: 0 + maxvalue: 1000 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: ozoneTotal + test variables: + - name: MetaData/solarZenithAngle + maxvalue: 84.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: ozoneTotal + threshold: 5.0 + action: + name: reject + - filter: GOMsaver + filename: cycle_dir/ompsnm_npp-geovals.20231009T210000Z.nc4 + observation_name: ompsnm_npp + get values: + time interpolation: linear + - obs space: + name: Pilot Balloon + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/pibal.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.pibal.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + vertical coordinate backup: air_pressure + observation vertical coordinate group backup: MetaData + observation vertical coordinate backup: pressure + interpolation method backup: log-linear + hofx scaling field: SurfaceWindScalingCombined + hofx scaling field group: DerivedVariables + linear obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + vertical coordinate backup: air_pressure + observation vertical coordinate group backup: MetaData + observation vertical coordinate backup: pressure + interpolation method backup: log-linear + hofx scaling field: SurfaceWindScalingCombined + hofx scaling field group: DerivedVariables + obs pre filters: + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_not_in: 221 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_not_in: 221 + action: + name: reject + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingCombined + SkipWhenNoObs: false + - filter: GOMsaver + filename: cycle_dir/pibal-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -135 + maxvalue: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.6 + - 1.7 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.2 + - 2.2 + - 2.3 + - 2.3 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.5 + - 2.7 + - 2.9 + - 3.1 + - 3.3 + - 3.5 + - 3.7 + - 3.9 + - 4.1 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: assign error + error function: GsiAdjustObsError/windEastward + where: + - variable: + name: GsiAdjustObsError/windEastward + value: is_valid + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: assign error + error function: GsiAdjustObsError/windNorthward + where: + - variable: + name: GsiAdjustObsError/windNorthward + value: is_valid + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 221 + cgross: + - 8.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windEastward + action: + name: reject + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 221 + cgross: + - 8.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windNorthward + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + test variables: + - name: ObsErrorData/windEastward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windEastward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windEastward + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windNorthward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windNorthward + defer to post: true + - filter: Bounds Check + filter variables: + - name: windNorthward + test variables: + - name: ObsErrorData/windNorthward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 221 + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 221 + defer to post: true + observation_name: pibal + get values: + time interpolation: linear + - obs space: + name: Satellite Winds + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/satwind.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.satwind.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + obs operator: + name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + linear obs operator: + name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + obs prior filters: + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + - filter: GOMsaver + filename: cycle_dir/satwind-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: PreQC + maxvalue: 3 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 80000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - 2 + - filter: BlackList + where: + - variable: + name: ObsType/windEastward + is_in: 240, 241, 248, 249, 251, 255, 256, 260 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.45 + - 5 + - 5 + - 5 + - 5.075 + - 5.175 + - 5.3 + - 5.675 + - 6.05 + - 6.25 + - 6.625 + - 7 + - 7 + - 7 + - 7 + where: + - variable: + name: ObsType/windEastward + is_in: 244 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.9 + - 3.9 + - 4.0 + - 4.0 + - 4.1 + - 5 + - 6 + - 6.3 + - 6.6 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + where: + - variable: + name: ObsType/windEastward + is_in: 245, 246 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.9 + - 3.9 + - 4.0 + - 4.0 + - 4.1 + - 5 + - 6 + - 6.3 + - 6.6 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + where: + - variable: + name: ObsType/windEastward + is_in: 242, 243, 247, 252, 253 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.9 + - 3.9 + - 4.0 + - 4.5 + - 6.1 + - 6.0 + - 6.5 + - 7.3 + - 7.6 + - 7 + - 7.5 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + - 7 + where: + - variable: + name: ObsType/windEastward + is_in: 254 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.8 + - 3.9 + - 3.9 + - 4.0 + - 4.0 + - 4.1 + - 5.0 + - 7 + - 7.3 + - 7.6 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + - 8 + where: + - variable: + name: ObsType/windEastward + is_in: 250 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.9 + - 5.675 + - 5.45 + - 5.525 + - 5.8 + - 6.275 + - 6.575 + - 6.825 + - 7.05 + - 7.05 + - 7.05 + - 7.05 + where: + - variable: + name: ObsType/windEastward + is_in: 257 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 6.05 + - 5.625 + - 5.275 + - 5.375 + - 5.925 + - 6.475 + - 6.775 + - 7.05 + - 7.05 + - 7.05 + - 7.05 + where: + - variable: + name: ObsType/windEastward + is_in: 258 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6.5 + - 6 + - 5.5 + - 5.5 + - 5.575 + - 6.025 + - 6.4 + - 6.775 + - 7.15 + - 7.15 + - 7.15 + - 7.15 + where: + - variable: + name: ObsType/windEastward + is_in: 259 + - filter: Difference Check + filter variables: + - name: windEastward + - name: windNorthward + reference: GeoVaLs/air_pressure_at_surface + value: MetaData/pressure + maxvalue: -11000 + where: + - variable: + name: ObsType/windEastward + is_in: 247 + - variable: + name: MetaData/surfaceQualifier + minvalue: 1 + - filter: Difference Check + filter variables: + - name: windEastward + - name: windNorthward + reference: GeoVaLs/air_pressure_at_surface + value: MetaData/pressure + maxvalue: -20000 + where: + - variable: + name: ObsType/windEastward + is_in: 244, 257, 258, 259, 260 + - variable: + name: MetaData/surfaceQualifier + minvalue: 1 + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/WindDirAngleDiff + maxvalue: 50.0 + where: + - variable: + name: ObsType/windEastward + is_in: 247 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/SatWindsLNVDCheck + maxvalue: 3 + where: + - variable: + name: ObsType/windEastward + is_in: 244, 247, 257-260 + action: + name: reject + - filter: BlackList + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 240-260 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: BlackList + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 240-260 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + error_min: + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 15.0 + - 15.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.1 + - 20.1 + - 20.1 + - 20.1 + - 20.1 + cgross: + - 2.5 + - 2.5 + - 2.5 + - 1.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 1.3 + - 2.5 + - 1.5 + - 1.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + wndtype: + - 240 + - 241 + - 242 + - 243 + - 244 + - 245 + - 246 + - 247 + - 248 + - 249 + - 250 + - 251 + - 252 + - 253 + - 254 + - 256 + - 257 + - 258 + - 259 + - 260 + variable: windEastward + action: + name: reject + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + cgross: + - 2.5 + - 2.5 + - 2.5 + - 1.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 1.3 + - 2.5 + - 1.5 + - 1.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + error_min: + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 15.0 + - 15.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.0 + - 20.1 + - 20.1 + - 20.1 + - 20.1 + - 20.1 + wndtype: + - 240 + - 241 + - 242 + - 243 + - 244 + - 245 + - 246 + - 247 + - 248 + - 249 + - 250 + - 251 + - 252 + - 253 + - 254 + - 256 + - 257 + - 258 + - 259 + - 260 + variable: windNorthward + action: + name: reject + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 240-260 + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 240-260 + defer to post: true + observation_name: satwind + get values: + time interpolation: linear + - obs space: + name: Scatterometer Winds + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/scatwind.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.scatwind.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + obs operator: + name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + linear obs operator: + name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + - filter: GOMsaver + filename: cycle_dir/scatwind-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -135 + maxvalue: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + errors: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: BlackList + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 290 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: BlackList + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 290 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/ScatWindsAmbiguityCheck + maxvalue: 1e-12 + where: + - variable: + name: ObsType/windEastward + is_in: 290 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/Arithmetic + options: + variables: + - name: ObsValue/windEastward + - name: HofX/windEastward + coefs: + - 1.0 + - -1.0 + minvalue: -5.0 + maxvalue: 5.0 + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/Arithmetic + options: + variables: + - name: ObsValue/windNorthward + - name: HofX/windNorthward + coefs: + - 1.0 + - -1.0 + minvalue: -5.0 + maxvalue: 5.0 + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 290 + cgross: + - 5.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windEastward + action: + name: reject + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 290 + cgross: + - 5.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windNorthward + action: + name: reject + defer to post: true + observation_name: scatwind + get values: + time interpolation: linear + - obs space: + name: Surface Marine Stations + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sfcship.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sfcship.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + - virtualTemperature + - airTemperature + - specificHumidity + - stationPressure + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: SfcCorrected + variables: + - name: stationPressure + correction scheme to use: GSL + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - name: Identity + variables: + - name: specificHumidity + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: Identity + variables: + - name: stationPressure + - name: specificHumidity + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + - filter: GOMsaver + filename: cycle_dir/sfcship-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: PreUseFlag/stationPressure + minvalue: 1 + action: + name: reject + - filter: RejectList + where: + - variable: + name: PreQC/stationPressure + is_in: 4-15 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + errors: + - 100 + - 100 + - 110 + - 120 + - 120 + - 100000000000.0 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + action: + name: inflate error + inflation factor: 0.7 + where: + - variable: ObsType/stationPressure + is_in: + - 180 + - variable: ObsSubType/stationPressure + is_in: + - 0 + - filter: Perform Action + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + options: + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/stationPressure + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 100 + where: + - variable: + name: TempObsErrorData/stationPressure + maxvalue: 100 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 300 + where: + - variable: + name: TempObsErrorData/stationPressure + minvalue: 300 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 4.0 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + - variable: ObsType/stationPressure + is_in: 180,183 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.8 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - variable: ObsType/stationPressure + is_in: 180,183 + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: TempObsErrorData/stationPressure + where: + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: false + variable: stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: + - 183 + action: + name: reject + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + errors: + - 1.75 + - 1.95 + - 2.25 + - 1.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - airTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/airTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: GsiAdjustObsError/airTemperature + where: + - variable: + name: GsiAdjustObsError/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/airTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/airTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/airTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreUseFlag/airTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 7.0 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 4.9 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: TempObsErrorData/airTemperature + where: + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: airTemperature + defer to post: true + - filter: Bounds Check + filter variables: + - name: airTemperature + test variables: + - name: ObsErrorData/airTemperature + maxvalue: 100000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: + - 183 + action: + name: reject + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + errors: + - 1.75 + - 1.95 + - 2.25 + - 1.0 + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - virtualTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: GsiAdjustObsError/virtualTemperature + where: + - variable: + name: GsiAdjustObsError/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: virtualTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/virtualTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/virtualTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/virtualTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/virtualTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: PreUseFlag/virtualTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 7.0 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 4.9 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: TempObsErrorData/virtualTemperature + where: + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: virtualTemperature + defer to post: true + - filter: Bounds Check + filter variables: + - name: virtualTemperature + test variables: + - name: ObsErrorData/virtualTemperature + maxvalue: 100000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: PreUseFlag/specificHumidity + minvalue: 1 + action: + name: reject + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: + - 183 + action: + name: reject + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorSatSpecHumidity + options: + variable: specificHumidity + input_error_name: GsiInputObsError + - filter: BlackList + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: specificHumidity + inflation factor: 8 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: specificHumidity + threshold: 8.0 + action: + name: reject + where: + - variable: PreQC/specificHumidity + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: specificHumidity + threshold: 5.6 + action: + name: reject + where: + - variable: PreQC/specificHumidity + is_in: + - 3 + defer to post: true + - filter: BlackList + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: specificHumidity + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: + - 284 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: + - 284 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: ObsType/windEastward + is_in: + - 280 + action: + name: assign error + error parameter: 2.5 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: ObsType/windEastward + is_in: + - 282 + action: + name: assign error + error parameter: 2.2 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + minvalue: 1 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + minvalue: 1 + action: + name: reject + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + threshold: 6.0 + action: + name: reject + where: + - variable: PreQC/windEastward + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windEastward + threshold: 4.2 + action: + name: reject + where: + - variable: PreQC/windEastward + is_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + threshold: 6.0 + action: + name: reject + where: + - variable: PreQC/windNorthward + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + threshold: 4.2 + action: + name: reject + where: + - variable: PreQC/windNorthward + is_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + satwndtype: + - 280 + - 282 + - 284 + error_min: + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + cgross: + - 6.0 + - 6.0 + - 6.0 + wndtype: + - 280 + - 282 + - 284 + variable: windEastward + action: + name: reject + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + satwndtype: + - 280 + - 282 + - 284 + error_min: + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + cgross: + - 6.0 + - 6.0 + - 6.0 + wndtype: + - 280 + - 282 + - 284 + variable: windNorthward + action: + name: reject + defer to post: true + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + defer to post: true + observation_name: sfcship + get values: + time interpolation: linear + - obs space: + name: Surface Land Stations + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sfc.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sfc.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + - virtualTemperature + - airTemperature + - specificHumidity + - stationPressure + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: SfcCorrected + variables: + - name: stationPressure + correction scheme to use: GSL + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: specificHumidity + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: stationPressure + - name: specificHumidity + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + - filter: GOMsaver + filename: cycle_dir/sfc-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Bounds Check + filter variables: + - name: stationPressure + minvalue: 49999 + action: + name: reject + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: PreUseFlag/stationPressure + minvalue: 1 + action: + name: reject + - filter: RejectList + where: + - variable: + name: PreQC/stationPressure + is_in: 4-15 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 181 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 70000 + - 65000 + - 60000 + - 55000 + errors: + - 100 + - 120 + - 120 + - 100000000000.0 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 187 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + errors: + - 100 + - 130 + - 160 + - 100000000000.0 + - filter: Perform Action + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + options: + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/stationPressure + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 100 + where: + - variable: + name: TempObsErrorData/stationPressure + maxvalue: 100 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 300 + where: + - variable: + name: TempObsErrorData/stationPressure + minvalue: 300 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 4.0 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + - variable: ObsType/stationPressure + is_in: 187 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.8 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - variable: ObsType/stationPressure + is_in: 187 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 3.6 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + - variable: ObsType/stationPressure + is_in: + - 181 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.52 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - variable: ObsType/stationPressure + is_in: + - 181 + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: TempObsErrorData/stationPressure + where: + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: false + variable: stationPressure + defer to post: true + - filter: Bounds Check + filter variables: + - name: stationPressure + test variables: + - name: ObsErrorData/stationPressure + maxvalue: 100000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 181,187 + action: + name: reject + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 181,187 + action: + name: reject + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: 181,187 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 281,287 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 281,287 + action: + name: reject + observation_name: sfc + get values: + time interpolation: linear + - obs space: + name: Radiosondes + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sondes.20231009T210000Z.nc4 + missing file action: error + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sondes.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + - virtualTemperature + - airTemperature + - specificHumidity + - stationPressure + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + - name: VertInterp + variables: + - name: airTemperature + - name: virtualTemperature + - name: specificHumidity + - name: SfcCorrected + variables: + - name: stationPressure + correction scheme to use: GSL + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + - name: VertInterp + variables: + - name: airTemperature + - name: virtualTemperature + - name: specificHumidity + - name: Identity + variables: + - name: stationPressure + obs prior filters: + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + - filter: GOMsaver + filename: cycle_dir/sondes-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: PreUseFlag/stationPressure + minvalue: 1 + action: + name: reject + - filter: RejectList + where: + - variable: + name: PreQC/stationPressure + is_in: 4-15 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 60000 + - 55000 + errors: + - 100 + - 100000000000.0 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + options: + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/stationPressure + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 100 + where: + - variable: + name: TempObsErrorData/stationPressure + maxvalue: 100 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 300 + where: + - variable: + name: TempObsErrorData/stationPressure + minvalue: 300 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 4.0 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.8 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: TempObsErrorData/stationPressure + where: + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: false + variable: stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: PreUseFlag/specificHumidity + minvalue: 1 + action: + name: reject + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + action: + name: assign error + error function: + name: ObsFunction/ObsErrorSatSpecHumidity + options: + variable: specificHumidity + input_error_name: GsiInputObsError + - filter: BlackList + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: specificHumidity + inflation factor: 8.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/specificHumidity + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/specificHumidity + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: specificHumidity + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 70000 + - 65000 + - 60000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + errors: + - 1.3 + - 1.1 + - 0.9 + - 0.7 + - 0.6 + - 0.6 + - 0.55 + - 0.5 + - 0.5 + - 0.55 + - 0.65 + - 1.1 + - 1.2 + - 1.2 + - 1.4 + - 1.6 + - 1.85 + - 2.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - airTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/airTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: GsiAdjustObsError/airTemperature + where: + - variable: + name: GsiAdjustObsError/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/airTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/airTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/airTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreUseFlag/airTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 8.0 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 5.6 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: TempObsErrorData/airTemperature + where: + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 70000 + - 65000 + - 60000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + errors: + - 1.3 + - 1.1 + - 0.9 + - 0.7 + - 0.6 + - 0.6 + - 0.55 + - 0.5 + - 0.5 + - 0.55 + - 0.65 + - 1.1 + - 1.2 + - 1.2 + - 1.4 + - 1.6 + - 1.85 + - 2.0 + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - virtualTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: GsiAdjustObsError/virtualTemperature + where: + - variable: + name: GsiAdjustObsError/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: virtualTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/virtualTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/virtualTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/virtualTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/virtualTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: PreUseFlag/virtualTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 8.0 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 5.6 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: TempObsErrorData/virtualTemperature + where: + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: virtualTemperature + defer to post: true + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -135 + maxvalue: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.6 + - 1.7 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.2 + - 2.2 + - 2.3 + - 2.3 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.5 + - 2.7 + - 2.9 + - 3.1 + - 3.3 + - 3.5 + - 3.7 + - 3.9 + - 4.1 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: assign error + error function: GsiAdjustObsError/windEastward + where: + - variable: + name: GsiAdjustObsError/windEastward + value: is_valid + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: assign error + error function: GsiAdjustObsError/windNorthward + where: + - variable: + name: GsiAdjustObsError/windNorthward + value: is_valid + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 220,221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 220,221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 220 + - 221 + cgross: + - 8.0 + - 8.0 + error_min: + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + variable: windEastward + action: + name: reject + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 220 + - 221 + cgross: + - 8.0 + - 8.0 + error_min: + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + variable: windNorthward + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + test variables: + - name: ObsErrorData/windEastward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windEastward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windEastward + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windNorthward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windNorthward + defer to post: true + - filter: Bounds Check + filter variables: + - name: windNorthward + test variables: + - name: ObsErrorData/windNorthward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 220 + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 220 + defer to post: true + observation_name: sondes + get values: + time interpolation: linear + - obs space: + name: ssmis_f17 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/ssmis_f17.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.ssmis_f17.20231009T210000Z.nc4 + simulated variables: + - brightnessTemperature + channels: None + io pool: + max pool size: 6 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs options: + Sensor_ID: ssmis_f17 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + obs bias: + input file: cycle_dir/ssmis_f17.20231009T150000Z.satbias.nc4 + output file: cycle_dir/ssmis_f17.20231009T210000Z.satbias.nc4 + variational bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/ssmis_f17.20231009T150000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/ssmis_f17.20231009T150000Z.tlapse.txt + - name: cosineOfLatitudeTimesOrbitNode + - name: sineOfLatitude + - name: emissivityJacobian + - name: sensorScanAngle + var_name: sensorScanPosition + order: 4 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 3 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 2 + - name: sensorScanAngle + var_name: sensorScanPosition + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/ssmis_f17.20231009T150000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/ssmis_f17.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 1.0 + - 1.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 2.4 + - 1.27 + - 1.44 + - 3.0 + - 1.34 + - 1.74 + - 3.75 + - 3.0 + - 3.0 + - 2.0 + - 6.4 + - 1.0 + - 1.0 + - filter: GOMsaver + filename: cycle_dir/ssmis_f17-geovals.20231009T210000Z.nc4 + obs post filters: + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + absolute threshold: 3.5 + remove bias correction: true + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: reject + - filter: RejectList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/geopotential_height_at_surface + minvalue: 2000.0 + min_exclusive: true + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + - filter: RejectList + filter variables: + - name: brightnessTemperature + channels: 1-3,8-18 + where: + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + max_exclusive: true + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + - variable: + name: GeoVaLs/ice_area_fraction + maxvalue: 0.99 + max_exclusive: true + - variable: + name: GeoVaLs/surface_snow_area_fraction + maxvalue: 0.99 + max_exclusive: true + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 1-2, 12-16 + reference: ObsValue/brightnessTemperature_2 + value: HofX/brightnessTemperature_2 + minvalue: -1.5 + maxvalue: 1.5 + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + absolute threshold: 3.5 + remove bias correction: true + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + action: + name: reject + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 9 + reference: ObsValue/brightnessTemperature_9 + value: + name: ObsFunction/Arithmetic + options: + variables: + - name: HofX/brightnessTemperature_17 + - name: ObsBiasData/brightnessTemperature_17 + - name: HofX/brightnessTemperature_8 + - name: ObsBiasData/brightnessTemperature_8 + coefs: + - -0.485934 + - 0.485934 + - 0.473806 + - -0.473806 + intercept: 271.252327 + maxvalue: 2 + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 10 + reference: ObsValue/brightnessTemperature_10 + value: + name: ObsFunction/Arithmetic + options: + variables: + - name: HofX/brightnessTemperature_17 + - name: ObsBiasData/brightnessTemperature_17 + - name: HofX/brightnessTemperature_8 + - name: ObsBiasData/brightnessTemperature_8 + coefs: + - -0.413688 + - 0.413688 + - 0.361549 + - -0.361549 + intercept: 272.280341 + maxvalue: 2 + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 11 + reference: ObsValue/brightnessTemperature_11 + value: + name: ObsFunction/Arithmetic + options: + variables: + - name: HofX/brightnessTemperature_17 + - name: ObsBiasData/brightnessTemperature_17 + - name: HofX/brightnessTemperature_8 + - name: ObsBiasData/brightnessTemperature_8 + coefs: + - -0.400882 + - 0.400882 + - 0.27051 + - -0.27051 + intercept: 278.824902 + maxvalue: 2 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: ssmis_f17 + obserr_demisf: + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + obserr_dtempf: + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor1 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_1 + coefs: + - 2.25 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_1 + threshold: DerivedMetaData/errorInflationFactor1 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor2 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_2 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_2 + threshold: DerivedMetaData/errorInflationFactor2 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor3 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_3 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_3 + threshold: DerivedMetaData/errorInflationFactor3 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor4 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_4 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_4 + threshold: DerivedMetaData/errorInflationFactor4 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor5 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_5 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_5 + threshold: DerivedMetaData/errorInflationFactor5 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor6 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_6 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_6 + threshold: DerivedMetaData/errorInflationFactor6 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor7 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_7 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_7 + threshold: DerivedMetaData/errorInflationFactor7 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor8 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_8 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_8 + threshold: DerivedMetaData/errorInflationFactor8 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor9 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_9 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_9 + threshold: DerivedMetaData/errorInflationFactor9 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor10 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_10 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_10 + threshold: DerivedMetaData/errorInflationFactor10 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor11 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_11 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_11 + threshold: DerivedMetaData/errorInflationFactor11 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor12 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_12 + coefs: + - 3.6 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_12 + threshold: DerivedMetaData/errorInflationFactor12 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor13 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_13 + coefs: + - 1.905 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_13 + threshold: DerivedMetaData/errorInflationFactor13 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor14 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_14 + coefs: + - 2.16 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_14 + threshold: DerivedMetaData/errorInflationFactor14 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor15 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_15 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_15 + threshold: DerivedMetaData/errorInflationFactor15 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor16 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_16 + coefs: + - 2.01 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_16 + threshold: DerivedMetaData/errorInflationFactor16 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor17 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_17 + coefs: + - 2.61 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_17 + threshold: DerivedMetaData/errorInflationFactor17 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor18 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_18 + coefs: + - 5.625 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_18 + threshold: DerivedMetaData/errorInflationFactor18 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor19 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_19 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_19 + threshold: DerivedMetaData/errorInflationFactor19 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor20 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_20 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_20 + threshold: DerivedMetaData/errorInflationFactor20 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor21 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_21 + coefs: + - 3.0 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_21 + threshold: DerivedMetaData/errorInflationFactor21 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor22 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_22 + coefs: + - 9.6 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_22 + threshold: DerivedMetaData/errorInflationFactor22 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor23 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_23 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_23 + threshold: DerivedMetaData/errorInflationFactor23 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor24 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_24 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_24 + threshold: DerivedMetaData/errorInflationFactor24 + absolute threshold: 6.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: ssmis_f17 + get values: + time interpolation: linear +model: + name: PSEUDO + tstep: PT1H + filetype: cube sphere history + provider: geos + compute edge pressure from surface pressure: true + max allowable geometry difference: 0.001 + datapath: cycle_dir + filenames: + - bkg.%yyyy%mm%ddT%hh%MM%ssZ.nc4 + - fv3-jedi/bkg/geos.crtmsrf.91.nc4 + field io names: *id017 +forecast length: PT6H diff --git a/src/swell/test/jedi_configs/jedi_localensembleda_config.yaml b/src/swell/test/jedi_configs/jedi_localensembleda_config.yaml new file mode 100644 index 000000000..f68ae102a --- /dev/null +++ b/src/swell/test/jedi_configs/jedi_localensembleda_config.yaml @@ -0,0 +1,9490 @@ +geometry: + fms initialization: + namelist filename: ./fv3-jedi/fv3files/fmsmpp.nml + field table filename: ./fv3-jedi/fv3files/field_table_gmao + akbk: ./fv3-jedi/fv3files/akbk72.nc4 + layout: + - 4 + - 4 + npx: '91' + npy: '91' + npz: '72' +time window: + begin: '2023-10-09T21:00:00Z' + end: '2023-10-10T03:00:00Z' + bound to include: begin +increment variables: +- eastward_wind +- northward_wind +- air_temperature +- air_pressure_at_surface +- air_pressure_levels +- water_vapor_mixing_ratio_wrt_moist_air +- cloud_liquid_ice +- cloud_liquid_water +- mole_fraction_of_ozone_in_air +background: + date: '2023-10-09T21:00:00Z' + members from template: + template: + datetime: '2023-10-10T00:00:00Z' + filetype: cube sphere history + provider: geos + compute edge pressure from surface pressure: true + max allowable geometry difference: 0.001 + datapath: . + filenames: + - ebkg/mem%mem%/geos.mem%mem%.%yyyy%mm%dd_%hh%MM%ssz.nc4 + - fv3-jedi/bkg/geos.crtmsrf.91.nc4 + state variables: + - eastward_wind + - northward_wind + - air_temperature + - air_pressure_at_surface + - air_pressure_levels + - water_vapor_mixing_ratio_wrt_moist_air + - cloud_liquid_ice + - cloud_liquid_water + - rain_water + - snow_water + - mole_fraction_of_ozone_in_air + - geopotential_height_times_gravity_at_surface + - initial_mass_fraction_of_large_scale_cloud_condensate + - initial_mass_fraction_of_convective_cloud_condensate + - convective_cloud_area_fraction + - fraction_of_ocean + - fraction_of_land + - isotropic_variance_of_filtered_topography + - surface_velocity_scale + - surface_buoyancy_scale + - planetary_boundary_layer_height + - surface_exchange_coefficient_for_momentum + - surface_exchange_coefficient_for_heat + - surface_exchange_coefficient_for_moisture + - KCBL_before_moist + - surface_temp_before_moist + - lower_index_where_Kh_greater_than_2 + - upper_index_where_Kh_greater_than_2 + - fraction_of_lake + - fraction_of_ice + - vtype + - stype + - vfrac + - sheleg + - skin_temperature_at_surface + - soilt + - soilm + - eastward_wind_at_surface + - northward_wind_at_surface + field io names: + eastward_wind: ua + northward_wind: va + air_temperature: t + air_pressure_at_surface: ps + air_pressure_levels: pe + water_vapor_mixing_ratio_wrt_moist_air: q + cloud_liquid_ice: qi + cloud_liquid_water: ql + rain_water: qr + snow_water: qs + mole_fraction_of_ozone_in_air: o3ppmv + geopotential_height_times_gravity_at_surface: phis + initial_mass_fraction_of_large_scale_cloud_condensate: qls + initial_mass_fraction_of_convective_cloud_condensate: qcn + convective_cloud_area_fraction: cfcn + fraction_of_ocean: frocean + fraction_of_land: frland + isotropic_variance_of_filtered_topography: varflt + surface_velocity_scale: ustar + surface_buoyancy_scale: bstar + planetary_boundary_layer_height: zpbl + surface_exchange_coefficient_for_momentum: cm + surface_exchange_coefficient_for_heat: ct + surface_exchange_coefficient_for_moisture: cq + KCBL_before_moist: kcbl + surface_temp_before_moist: tsm + lower_index_where_Kh_greater_than_2: khl + upper_index_where_Kh_greater_than_2: khu + fraction_of_lake: frlake + fraction_of_ice: frseaice + skin_temperature_at_surface: ts + eastward_wind_at_surface: u10m + northward_wind_at_surface: v10m + pattern: '%mem%' + nmembers: 16 + zero padding: 3 +observations: + get values: + variable change: + variable change name: Model2GeoVaLs + hydrometeor effective radii method: gsi + tropopause pressure method: gsi + observers: + - obs space: + name: Aircraft Temperature + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/aircraft_temperature.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.aircraft_temperature.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - airTemperature + distribution: + name: Halo + halo size: 5000000.0 + obs bias: + input file: cycle_dir/aircraft_temperature.20231009T210000Z.acftbias + output file: cycle_dir/aircraft_temperature.20231009T210000Z.acftbias + bc by record: true + static bc: + predictors: + - name: constant + - name: obsMetadataPredictor + variable: instantaneousAltitudeRate + - name: obsMetadataPredictor + variable: instantaneousAltitudeRate + order: 2 + covariance: + minimal required obs number: 3 + variance range: + - 1e-06 + - 1.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/aircraft_temperature.20231009T210000Z.acftbias_cov + inflation: + ratio: 1.005 + ratio for small dataset: 2.0 + obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - airTemperature + linear obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - airTemperature + obs filters: + - filter: Variable Assignment + where: + - variable: + name: ObsType/airTemperature + is_in: 130 + assignments: + - name: MetaData/stationIdentification + value: 'KX130 ' + - filter: Variable Assignment + where: + - variable: + name: MetaData/instantaneousAltitudeRate + minvalue: 50.0 + assignments: + - name: MetaData/instantaneousAltitudeRate + value: 0.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 2.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + errors: + - 2.5 + - 2.3 + - 2.1 + - 1.9 + - 1.7 + where: + - variable: + name: ObsType/airTemperature + is_in: 130 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + errors: + - 1.4706 + - 1.3529 + - 1.2353 + - 1.1176 + - 1.0 + where: + - variable: + name: ObsType/airTemperature + is_in: 131,133 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 70000 + - 65000 + - 60000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 5000 + errors: + - 1.5 + - 1.3 + - 1.1 + - 0.9 + - 0.8 + - 0.8 + - 0.75 + - 0.7 + - 0.7 + - 0.75 + - 0.85 + - 1.3 + - 1.5 + - 1.5 + where: + - variable: + name: ObsType/airTemperature + is_in: 132 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 60000 + - 40000 + errors: + - 1.5 + - 1.35 + - 1.25 + - 1.1 + - 1.0 + - 1.3 + - 1.7 + where: + - variable: + name: ObsType/airTemperature + is_in: 134 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + errors: + - 1.4706 + - 1.3529 + - 1.2353 + - 1.1176 + - 1000000000.0 + where: + - variable: + name: ObsType/airTemperature + is_in: 135 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + inflate variables: + - airTemperature + pressure: MetaData/pressure + distance threshold: 60000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreQC/airTemperature + is_in: 4-15 + action: + name: passivate + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: + name: ObsType/airTemperature + is_in: 134, 135 + action: + name: passivate + defer to post: true + - filter: Perform Action + action: + name: inflate error + inflation factor: 10.0 + filter variables: + - name: airTemperature + where: + - variable: + name: MetaData/pressure + maxvalue: 110000 + minvalue: 50000 + - variable: + name: ObsType/airTemperature + is_in: 130 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: GsiAdjustObsError/airTemperature + where: + - variable: + name: GsiAdjustObsError/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 8.0 + surface_obs: false + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/airTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/airTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/airTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreUseFlag/airTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 7.0 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 4.9 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: TempObsErrorData/airTemperature + where: + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: airTemperature + defer to post: true + observation_name: aircraft_temperature + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: Aircraft Wind + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/aircraft_wind.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.aircraft_wind.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + obs prior filters: + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + obs post filters: + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: PreQC/windEastward + is_in: 4-15 + action: + name: passivate + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: + name: ObsType/windEastward + is_in: 234, 235 + action: + name: passivate + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 100000 + - 95000 + - 80000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + errors: + - 1.4 + - 1.5 + - 1.6 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.3 + - 2.6 + - 2.8 + - 3.0 + - 3.2 + - 2.7 + - 2.4 + - 2.1 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 3.6 + where: + - variable: + name: ObsType/windEastward + is_in: 230 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 3.0 + where: + - variable: + name: ObsType/windEastward + is_in: 231 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 2.5 + where: + - variable: + name: ObsType/windEastward + is_in: 233 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error parameter: 3.0 + where: + - variable: + name: ObsType/windEastward + is_in: 234, 235 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + errors: + - 1.5 + - 1.6 + - 1.7 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.2 + - 2.2 + - 2.3 + - 2.3 + - 2.4 + - 2.4 + - 2.5 + - 2.7 + - 2.9 + - 3.1 + where: + - variable: + name: ObsType/windEastward + is_in: 232 + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + inflate variables: + - windEastward + pressure: MetaData/pressure + distance threshold: 60000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + inflate variables: + - windNorthward + pressure: MetaData/pressure + distance threshold: 60000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: assign error + error function: GsiAdjustObsError/windEastward + where: + - variable: + name: GsiAdjustObsError/windEastward + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: assign error + error function: GsiAdjustObsError/windNorthward + where: + - variable: + name: GsiAdjustObsError/windNorthward + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + surface_obs: false + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + surface_obs: false + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 230 + - 231 + - 232 + - 233 + - 234 + - 235 + cgross: + - 6.0 + - 6.5 + - 7.0 + - 7.5 + - 7.5 + - 7.5 + error_min: + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + variable: windEastward + action: + name: reject + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 230 + - 231 + - 232 + - 233 + - 234 + - 235 + cgross: + - 6.0 + - 6.5 + - 7.0 + - 7.5 + - 7.5 + - 7.5 + error_min: + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + - 6.1 + variable: windNorthward + action: + name: reject + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + defer to post: true + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + defer to post: true + observation_name: aircraft_wind + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: Radiosondes + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sondes.20231009T210000Z.nc4 + missing file action: error + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sondes.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + - virtualTemperature + - airTemperature + - specificHumidity + - stationPressure + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + - name: VertInterp + variables: + - name: airTemperature + - name: virtualTemperature + - name: specificHumidity + - name: SfcCorrected + variables: + - name: stationPressure + correction scheme to use: GSL + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + hofx scaling field: SurfaceWindScalingPressure + hofx scaling field group: DerivedVariables + - name: VertInterp + variables: + - name: airTemperature + - name: virtualTemperature + - name: specificHumidity + - name: Identity + variables: + - name: stationPressure + obs prior filters: + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + obs post filters: + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: PreUseFlag/stationPressure + minvalue: 1 + action: + name: reject + - filter: RejectList + where: + - variable: + name: PreQC/stationPressure + is_in: 4-15 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 60000 + - 55000 + errors: + - 100 + - 100000000000.0 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + options: + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/stationPressure + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 100 + where: + - variable: + name: TempObsErrorData/stationPressure + maxvalue: 100 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 300 + where: + - variable: + name: TempObsErrorData/stationPressure + minvalue: 300 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 4.0 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.8 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: TempObsErrorData/stationPressure + where: + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: false + variable: stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: PreUseFlag/specificHumidity + minvalue: 1 + action: + name: reject + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + action: + name: assign error + error function: + name: ObsFunction/ObsErrorSatSpecHumidity + options: + variable: specificHumidity + input_error_name: GsiInputObsError + - filter: BlackList + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: specificHumidity + inflation factor: 8.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/specificHumidity + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/specificHumidity + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: specificHumidity + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 70000 + - 65000 + - 60000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + errors: + - 1.3 + - 1.1 + - 0.9 + - 0.7 + - 0.6 + - 0.6 + - 0.55 + - 0.5 + - 0.5 + - 0.55 + - 0.65 + - 1.1 + - 1.2 + - 1.2 + - 1.4 + - 1.6 + - 1.85 + - 2.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - airTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/airTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: GsiAdjustObsError/airTemperature + where: + - variable: + name: GsiAdjustObsError/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/airTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/airTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/airTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreUseFlag/airTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 8.0 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 5.6 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: TempObsErrorData/airTemperature + where: + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 70000 + - 65000 + - 60000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + errors: + - 1.3 + - 1.1 + - 0.9 + - 0.7 + - 0.6 + - 0.6 + - 0.55 + - 0.5 + - 0.5 + - 0.55 + - 0.65 + - 1.1 + - 1.2 + - 1.2 + - 1.4 + - 1.6 + - 1.85 + - 2.0 + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - virtualTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: GsiAdjustObsError/virtualTemperature + where: + - variable: + name: GsiAdjustObsError/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: virtualTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/virtualTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/virtualTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/virtualTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/virtualTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: PreUseFlag/virtualTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 8.0 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 5.6 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: TempObsErrorData/virtualTemperature + where: + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: virtualTemperature + defer to post: true + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -135 + maxvalue: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.6 + - 1.7 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.2 + - 2.2 + - 2.3 + - 2.3 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.5 + - 2.7 + - 2.9 + - 3.1 + - 3.3 + - 3.5 + - 3.7 + - 3.9 + - 4.1 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: assign error + error function: GsiAdjustObsError/windEastward + where: + - variable: + name: GsiAdjustObsError/windEastward + value: is_valid + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: assign error + error function: GsiAdjustObsError/windNorthward + where: + - variable: + name: GsiAdjustObsError/windNorthward + value: is_valid + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 220,221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 220,221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 220 + - 221 + cgross: + - 8.0 + - 8.0 + error_min: + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + variable: windEastward + action: + name: reject + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 220 + - 221 + cgross: + - 8.0 + - 8.0 + error_min: + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + variable: windNorthward + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + test variables: + - name: ObsErrorData/windEastward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windEastward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windEastward + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windNorthward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windNorthward + defer to post: true + - filter: Bounds Check + filter variables: + - name: windNorthward + test variables: + - name: ObsErrorData/windNorthward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 220 + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 220 + defer to post: true + observation_name: sondes + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: gnssrobndnbam + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/gps.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - sequenceNumber + sort variable: impactHeightRO + sort order: ascending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.gps.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - bendingAngle + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: GnssroBndNBAM + obs options: + use_compress: 1 + vertlayer: full + sr_steps: 2 + super_ref_qc: NBAM + obs filters: + - filter: BlackList + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 41,265,266,421,440,724,725,726,727,728,729 + - filter: Perform Action + filter variables: + - name: bendingAngle + where: + - variable: PreUseFlag/bendingAngle + minvalue: 1 + action: + name: reject + - filter: Domain Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/impactHeightRO + minvalue: 0 + maxvalue: 55000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 265,266,267,268,269 + test variables: + - name: MetaData/impactHeightRO + maxvalue: 45000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 3-5 + test variables: + - name: MetaData/impactHeightRO + minvalue: 8000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 267,268,269 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 401 + test variables: + - name: MetaData/impactHeightRO + minvalue: 5000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 267,268,269 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 402-999 + test variables: + - name: MetaData/impactHeightRO + minvalue: 9000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 265,266 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 401 + test variables: + - name: MetaData/impactHeightRO + minvalue: 5000.1 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: bendingAngle + where: + - variable: + name: MetaData/satelliteIdentifier + is_in: 265,266 + - variable: + name: MetaData/satelliteConstellationRO + is_in: 402-999 + test variables: + - name: MetaData/impactHeightRO + minvalue: 8000.1 + action: + name: reject + - filter: ROobserror + filter variables: + - name: bendingAngle + errmodel: NBAM + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: inflate error + inflation factor: 2.0 + where: + - variable: MetaData/satelliteIdentifier + is_in: 267,268,269 + - filter: Variable Assignment + assignments: + - name: JediAdjustObsError/bendingAngle + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/bendingAngle + defer to post: true + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: assign error + error parameter: 1.0 + where: + - variable: + name: JediAdjustObsError/bendingAngle + maxvalue: 1.0 + - variable: + name: JediAdjustObsError/bendingAngle + value: is_valid + - variable: + name: MetaData/satelliteIdentifier + is_in: 3,5,41,42,43,44,267,268,269,440,421,724,725,726,727,728,729, 750,751,752,753,754,755,821,825 + defer to post: true + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: assign error + error parameter: 10.0 + where: + - variable: + name: JediAdjustObsError/bendingAngle + minvalue: 10.0 + - variable: + name: JediAdjustObsError/bendingAngle + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: bendingAngle + threshold: 5 + action: + name: reject + defer to post: true + - filter: Perform Action + filter variables: + - name: bendingAngle + action: + name: assign error + error function: JediAdjustObsError/bendingAngle + where: + - variable: + name: JediAdjustObsError/bendingAngle + value: is_valid + defer to post: true + - filter: Background Check RONBAM + filter variables: + - name: bendingAngle + defer to post: true + - filter: Background Check RONBAM + filter variables: + - name: bendingAngle + action: + name: RONBAMErrInflate_GEOS + defer to post: true + observation_name: gps + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: AMSU-A AQUA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_aqua.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_aqua.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_aqua + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_aqua.20231009T210000Z.satbias.nc4 + output file: cycle_dir/amsua_aqua.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_aqua.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_aqua.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_aqua.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_aqua.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id001 + - 2.5 + - 2.0 + - 2.0 + - 0.5 + - 0.4 + - 0.4 + - 0.5 + - 0.3 + - 0.35 + - 0.35 + - 0.45 + - 1.0 + - 1.5 + - 3.75 + - 6.3 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_aqua + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_aqua + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_aqua + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_aqua + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_aqua + error parameter vector: *id001 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 3.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 3.0 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_aqua + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_aqua + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: AMSU-A NOAA-15 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_n15.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_n15.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_n15 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_n15.20231009T210000Z.satbias.nc4 + output file: cycle_dir/amsua_n15.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_n15.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_n15.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_n15.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_n15.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id002 + - 3.0 + - 2.0 + - 2.0 + - 0.6 + - 0.3 + - 0.23 + - 0.25 + - 0.275 + - 0.34 + - 0.4 + - 0.6 + - 1.0 + - 1.5 + - 5.0 + - 3.0 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_n15 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_n15 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_n15 + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_n15 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_n15 + error parameter vector: *id002 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_n15 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_n15 + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: AMSU-A NOAA-18 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_n18.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_n18.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_n18 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_n18.20231009T210000Z.satbias.nc4 + output file: cycle_dir/amsua_n18.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_n18.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_n18.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_n18.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_n18.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id003 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_n18 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_n18 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_n18 + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_n18 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_n18 + error parameter vector: *id003 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_n18 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_n18 + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: AMSU-A NOAA-19 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_n19.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_n19.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_n19 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_n19.20231009T210000Z.satbias.nc4 + output file: cycle_dir/amsua_n19.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_n19.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_n19.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_n19.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_n19.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id004 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_n19 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_n19 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_n19 + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_n19 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_n19 + error parameter vector: *id004 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_n19 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_n19 + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: AMSR2 GCOM-W1 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsr2_gcom-w1.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsr2_gcom-w1.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: amsr2_gcom-w1 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsr2_gcom-w1.20231009T210000Z.satbias.nc4 + output file: cycle_dir/amsr2_gcom-w1.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsr2_gcom-w1.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsr2_gcom-w1.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + var_name: sensorScanPosition + order: 4 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 3 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 2 + - name: sensorScanAngle + var_name: sensorScanPosition + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsr2_gcom-w1.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsr2_gcom-w1.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 340.0 + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.999 + - variable: + name: GeoVaLs/skin_temperature_at_surface_where_sea + minvalue: 275 + - variable: + name: GeoVaLs/wind_speed_at_surface + maxvalue: 12 + - variable: + name: MetaData/latitude + minvalue: -60.0 + maxvalue: 60.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/TotalColumnVaporGuess + minvalue: 10.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/SunGlintAngle + minvalue: 20.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: &id005 + - 0.48 + - 3.0737 + - 0.7433 + - 3.643 + - 3.5304 + - 4.427 + - 5.1448 + - 5.0785 + - 4.9763 + - 9.3215 + - 2.5789 + - 5.5274 + - 0.6641 + - 1.3674 + clwret_types: + - ObsValue + maxvalue: 1.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id005 + clwret_types: + - HofX + maxvalue: 1.0 + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: None + value: + name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id005 + clwret_types: + - ObsValue + reference: + name: ObsFunction/CLWRetMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id005 + clwret_types: + - HofX + minvalue: -0.5 + maxvalue: 0.5 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch18v: 7 + clwret_ch18h: 8 + clwret_ch36v: 11 + clwret_ch36h: 12 + sys_bias: *id005 + clwret_types: + - ObsValue + - HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.1 + - 0.1 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 0.6 + - 0.6 + - 0.6 + - 0.6 + - 0.6 + - 0.5 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + err0: + - 0.8 + - 0.9 + - 0.8 + - 0.9 + - 1.0 + - 1.1 + - 2.0 + - 3.5 + - 3.0 + - 4.8 + - 5.0 + - 6.0 + - 4.5 + - 6.3 + err1: + - 5.0 + - 5.0 + - 5.0 + - 5.0 + - 5.0 + - 18.5 + - 20.0 + - 40.0 + - 20.0 + - 25.0 + - 30.0 + - 30.0 + - 30.0 + - 20.0 + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: None + threshold: 2.0 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 7-10 + absolute threshold: 30 + action: + name: reject + - filter: Background Check + apply at iterations: 0, 1 + filter variables: + - name: brightnessTemperature + channels: 11-14 + absolute threshold: 50 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: amsr2_gcom-w1 + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsr2_gcom-w1 + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: ATMS NOAA-20 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/atms_n20.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.atms_n20.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: atms_n20 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/atms_n20.20231009T210000Z.satbias.nc4 + output file: cycle_dir/atms_n20.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: ATMS + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/atms_n20.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/atms_n20.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/atms_n20.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/atms_n20.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id006 + - 5.0 + - 5.0 + - 5.0 + - 3.0 + - 0.55 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 5.0 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-7,16-22 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-7,16 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: atms_n20 + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: atms_n20 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + use_biasterm: true + test_biasterm: ObsBiasTerm + sensor: atms_n20 + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: atms_n20 + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: atms_n20 + error parameter vector: *id006 + obserr_bound_max: + - 4.5 + - 4.5 + - 3.0 + - 3.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 2.0 + - 4.5 + - 4.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: atms_n20 + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: atms_n20 + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: ATMS NPP + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/atms_npp.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.atms_npp.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: atms_npp + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/atms_npp.20231009T210000Z.satbias.nc4 + output file: cycle_dir/atms_npp.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: ATMS + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/atms_npp.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/atms_npp.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/atms_npp.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/atms_npp.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id007 + - 5.0 + - 5.0 + - 5.0 + - 3.0 + - 0.55 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.3 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 5.0 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-7,16-22 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-7,16 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: atms_npp + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: atms_npp + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + use_biasterm: true + test_biasterm: ObsBiasTerm + sensor: atms_npp + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: atms_npp + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: atms_npp + error parameter vector: *id007 + obserr_bound_max: + - 4.5 + - 4.5 + - 3.0 + - 3.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 2.0 + - 4.5 + - 4.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: atms_npp + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: atms_npp + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: AVHRR-3 METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/avhrr3_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.avhrr3_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: avhrr3_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/avhrr3_metop-b.20231009T210000Z.satbias.nc4 + output file: cycle_dir/avhrr3_metop-b.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/avhrr3_metop-b.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/avhrr3_metop-b.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/avhrr3_metop-b.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/avhrr3_metop-b.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.0 + - 1.08 + - 1.12 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 3 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 1e-05 + maxvalue: 1000.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: avhrr3_metop-b + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualAVHRR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + cloud detection criteria: + - 0.6 + - 0.68 + - 0.72 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: avhrr3_metop-b + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: avhrr3_metop-b + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: AVHRR-3 NOAA-18 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/avhrr3_n18.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.avhrr3_n18.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: avhrr3_n18 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/avhrr3_n18.20231009T210000Z.satbias.nc4 + output file: cycle_dir/avhrr3_n18.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/avhrr3_n18.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/avhrr3_n18.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/avhrr3_n18.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/avhrr3_n18.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.0 + - 1.08 + - 1.12 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 3 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 1e-05 + maxvalue: 1000.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: avhrr3_n18 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualAVHRR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + cloud detection criteria: + - 0.6 + - 0.68 + - 0.72 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: avhrr3_n18 + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: avhrr3_n18 + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: AVHRR-3 NOAA-19 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/avhrr3_n19.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.avhrr3_n19.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: avhrr3_n19 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/avhrr3_n19.20231009T210000Z.satbias.nc4 + output file: cycle_dir/avhrr3_n19.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/avhrr3_n19.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/avhrr3_n19.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/avhrr3_n19.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/avhrr3_n19.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.0 + - 1.08 + - 1.12 + - filter: Variable Assignment + assignments: + - name: ObsError/brightnessTemperature + channels: None + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature + channels: None + obs post filters: + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 3 + where: + - variable: + name: MetaData/solarZenithAngle + maxvalue: 88.9999 + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorWavenumIR + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 1e-05 + maxvalue: 1000.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: avhrr3_n19 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/CloudDetectMinResidualAVHRR + channels: None + options: + channels: None + use_flag: None + use_flag_clddet: + - 1 + - 1 + - 1 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + cloud detection criteria: + - 0.6 + - 0.68 + - 0.72 + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: avhrr3_n19 + obserr_demisf: + - 0.01 + - 0.02 + - 0.03 + - 0.02 + - 0.03 + obserr_dtempf: + - 0.5 + - 2.0 + - 4.0 + - 2.0 + - 4.0 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundIR + channels: None + options: + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.5 + - 0.04 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_max: + - 3.0 + - 3.0 + - 3.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: avhrr3_n19 + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: Scatterometer Winds + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/scatwind.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.scatwind.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + linear obs operator: + name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + obs post filters: + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -135 + maxvalue: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + errors: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: BlackList + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 290 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: BlackList + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 290 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/ScatWindsAmbiguityCheck + maxvalue: 1e-12 + where: + - variable: + name: ObsType/windEastward + is_in: 290 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/Arithmetic + options: + variables: + - name: ObsValue/windEastward + - name: HofX/windEastward + coefs: + - 1.0 + - -1.0 + minvalue: -5.0 + maxvalue: 5.0 + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + test variables: + - name: ObsFunction/Arithmetic + options: + variables: + - name: ObsValue/windNorthward + - name: HofX/windNorthward + coefs: + - 1.0 + - -1.0 + minvalue: -5.0 + maxvalue: 5.0 + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 290 + cgross: + - 5.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windEastward + action: + name: reject + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 290 + cgross: + - 5.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windNorthward + action: + name: reject + defer to post: true + observation_name: scatwind + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: Surface Marine Stations + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sfcship.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sfcship.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + - virtualTemperature + - airTemperature + - specificHumidity + - stationPressure + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: SfcCorrected + variables: + - name: stationPressure + correction scheme to use: GSL + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - name: Identity + variables: + - name: specificHumidity + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: Identity + variables: + - name: stationPressure + - name: specificHumidity + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + obs post filters: + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: PreUseFlag/stationPressure + minvalue: 1 + action: + name: reject + - filter: RejectList + where: + - variable: + name: PreQC/stationPressure + is_in: 4-15 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + errors: + - 100 + - 100 + - 110 + - 120 + - 120 + - 100000000000.0 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + action: + name: inflate error + inflation factor: 0.7 + where: + - variable: ObsType/stationPressure + is_in: + - 180 + - variable: ObsSubType/stationPressure + is_in: + - 0 + - filter: Perform Action + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + options: + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/stationPressure + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 100 + where: + - variable: + name: TempObsErrorData/stationPressure + maxvalue: 100 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 300 + where: + - variable: + name: TempObsErrorData/stationPressure + minvalue: 300 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 4.0 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + - variable: ObsType/stationPressure + is_in: 180,183 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.8 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - variable: ObsType/stationPressure + is_in: 180,183 + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: TempObsErrorData/stationPressure + where: + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: false + variable: stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: + - 183 + action: + name: reject + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + errors: + - 1.75 + - 1.95 + - 2.25 + - 1.0 + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - airTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/airTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: GsiAdjustObsError/airTemperature + where: + - variable: + name: GsiAdjustObsError/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/airTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/airTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/airTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/airTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: PreUseFlag/airTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 7.0 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: airTemperature + threshold: 4.9 + action: + name: reject + where: + - variable: PreQC/airTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: assign error + error function: TempObsErrorData/airTemperature + where: + - variable: + name: TempObsErrorData/airTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: airTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: airTemperature + defer to post: true + - filter: Bounds Check + filter variables: + - name: airTemperature + test variables: + - name: ObsErrorData/airTemperature + maxvalue: 100000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: + - 183 + action: + name: reject + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + errors: + - 1.75 + - 1.95 + - 2.25 + - 1.0 + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorConventional + options: + test QCflag: PreQC + test QCthreshold: 3 + inflate variables: + - virtualTemperature + pressure: MetaData/pressure + distance threshold: -1.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 7 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: MetaData/pressure + minvalue: 0 + maxvalue: 9999 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: GsiAdjustObsError/virtualTemperature + where: + - variable: + name: GsiAdjustObsError/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: virtualTemperature + inflation factor: 8.0 + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/virtualTemperature + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/virtualTemperature + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 1.3 + where: + - variable: + name: TempObsErrorData/virtualTemperature + maxvalue: 1.3 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error parameter: 5.6 + where: + - variable: + name: TempObsErrorData/virtualTemperature + minvalue: 5.6 + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: PreUseFlag/virtualTemperature + minvalue: 1 + action: + name: reject + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 7.0 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: virtualTemperature + threshold: 4.9 + action: + name: reject + where: + - variable: PreQC/virtualTemperature + is_in: + - 3 + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: assign error + error function: TempObsErrorData/virtualTemperature + where: + - variable: + name: TempObsErrorData/virtualTemperature + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: virtualTemperature + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: virtualTemperature + defer to post: true + - filter: Bounds Check + filter variables: + - name: virtualTemperature + test variables: + - name: ObsErrorData/virtualTemperature + maxvalue: 100000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: PreUseFlag/specificHumidity + minvalue: 1 + action: + name: reject + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: + - 183 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: + - 183 + action: + name: reject + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: + - 180 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorSatSpecHumidity + options: + variable: specificHumidity + input_error_name: GsiInputObsError + - filter: BlackList + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: specificHumidity + inflation factor: 8 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: specificHumidity + threshold: 8.0 + action: + name: reject + where: + - variable: PreQC/specificHumidity + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: specificHumidity + threshold: 5.6 + action: + name: reject + where: + - variable: PreQC/specificHumidity + is_in: + - 3 + defer to post: true + - filter: BlackList + filter variables: + - name: specificHumidity + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: specificHumidity + defer to post: true + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: + - 284 + action: + name: assign error + error parameter: 100000000000.0 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: + - 284 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: ObsType/windEastward + is_in: + - 280 + action: + name: assign error + error parameter: 2.5 + - filter: Perform Action + filter variables: + - name: windEastward + - name: windNorthward + where: + - variable: ObsType/windEastward + is_in: + - 282 + action: + name: assign error + error parameter: 2.2 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + minvalue: 1 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + minvalue: 1 + action: + name: reject + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + threshold: 6.0 + action: + name: reject + where: + - variable: PreQC/windEastward + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windEastward + threshold: 4.2 + action: + name: reject + where: + - variable: PreQC/windEastward + is_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + threshold: 6.0 + action: + name: reject + where: + - variable: PreQC/windNorthward + is_not_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + threshold: 4.2 + action: + name: reject + where: + - variable: PreQC/windNorthward + is_in: + - 3 + defer to post: true + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + satwndtype: + - 280 + - 282 + - 284 + error_min: + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + cgross: + - 6.0 + - 6.0 + - 6.0 + wndtype: + - 280 + - 282 + - 284 + variable: windEastward + action: + name: reject + defer to post: true + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + satwndtype: + - 280 + - 282 + - 284 + error_min: + - 1.4 + - 1.4 + - 1.4 + error_max: + - 6.1 + - 6.1 + - 6.1 + cgross: + - 6.0 + - 6.0 + - 6.0 + wndtype: + - 280 + - 282 + - 284 + variable: windNorthward + action: + name: reject + defer to post: true + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + defer to post: true + observation_name: sfcship + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: Surface Land Stations + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/sfc.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.sfc.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + - virtualTemperature + - airTemperature + - specificHumidity + - stationPressure + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: SfcCorrected + variables: + - name: stationPressure + correction scheme to use: GSL + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: specificHumidity + linear obs operator: + name: Composite + components: + - name: VertInterp + variables: + - name: windEastward + - name: windNorthward + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + hofx scaling field: SurfaceWindScalingHeight + hofx scaling field group: DerivedVariables + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: airTemperature + - name: virtualTemperature + - name: Identity + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + variables: + - name: stationPressure + - name: specificHumidity + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + obs post filters: + - filter: Bounds Check + filter variables: + - name: stationPressure + minvalue: 49999 + action: + name: reject + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: PreUseFlag/stationPressure + minvalue: 1 + action: + name: reject + - filter: RejectList + where: + - variable: + name: PreQC/stationPressure + is_in: 4-15 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 181 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 70000 + - 65000 + - 60000 + - 55000 + errors: + - 100 + - 120 + - 120 + - 100000000000.0 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: + - 187 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: ObsValue/stationPressure + xvals: + - 80000 + - 75000 + - 70000 + - 65000 + errors: + - 100 + - 130 + - 160 + - 100000000000.0 + - filter: Perform Action + action: + name: inflate error + inflation factor: 1.2 + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + options: + geovar_geomz: geopotential_height + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + station_altitude: height + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/stationPressure + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/stationPressure + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 100 + where: + - variable: + name: TempObsErrorData/stationPressure + maxvalue: 100 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error parameter: 300 + where: + - variable: + name: TempObsErrorData/stationPressure + minvalue: 300 + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 4.0 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + - variable: ObsType/stationPressure + is_in: 187 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.8 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - variable: ObsType/stationPressure + is_in: 187 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 3.6 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_not_in: + - 3 + - variable: ObsType/stationPressure + is_in: + - 181 + defer to post: true + - filter: Background Check + filter variables: + - name: stationPressure + threshold: 2.52 + action: + name: reject + where: + - variable: PreQC/stationPressure + is_in: + - 3 + - variable: ObsType/stationPressure + is_in: + - 181 + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: assign error + error function: TempObsErrorData/stationPressure + where: + - variable: + name: TempObsErrorData/stationPressure + value: is_valid + defer to post: true + - filter: Perform Action + filter variables: + - name: stationPressure + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: false + variable: stationPressure + defer to post: true + - filter: Bounds Check + filter variables: + - name: stationPressure + test variables: + - name: ObsErrorData/stationPressure + maxvalue: 100000.0 + defer to post: true + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 181,187 + action: + name: reject + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 181,187 + action: + name: reject + - filter: Perform Action + filter variables: + - name: virtualTemperature + where: + - variable: ObsType/virtualTemperature + is_in: 181,187 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 281,287 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 281,287 + action: + name: reject + observation_name: sfc + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: MHS METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mhs_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mhs_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: mhs_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/mhs_metop-b.20231009T210000Z.satbias.nc4 + output file: cycle_dir/mhs_metop-b.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/mhs_metop-b.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/mhs_metop-b.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/mhs_metop-b.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/mhs_metop-b.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 550.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: mhs_metop-b + use_flag: None + minvalue: 1e-12 + action: + name: reject + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 10 + maxvalue: 81 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1-3 + where: + - variable: + name: MetaData/latitude + minvalue: -25.0 + maxvalue: -10.0 + - variable: + name: MetaData/longitude + minvalue: 260.0 + maxvalue: 300.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/surface_snow_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/ice_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + maxvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: mhs_metop-b + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-b + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-b + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-b + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-b + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + observation_name: mhs_metop-b + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: MHS METOP-C + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mhs_metop-c.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mhs_metop-c.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: mhs_metop-c + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/mhs_metop-c.20231009T210000Z.satbias.nc4 + output file: cycle_dir/mhs_metop-c.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/mhs_metop-c.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/mhs_metop-c.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/mhs_metop-c.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/mhs_metop-c.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 550.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: mhs_metop-c + use_flag: None + minvalue: 1e-12 + action: + name: reject + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 10 + maxvalue: 81 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1-3 + where: + - variable: + name: MetaData/latitude + minvalue: -25.0 + maxvalue: -10.0 + - variable: + name: MetaData/longitude + minvalue: 260.0 + maxvalue: 300.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/surface_snow_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/ice_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + maxvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: mhs_metop-c + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-c + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-c + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_metop-c + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_metop-c + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + observation_name: mhs_metop-c + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: MHS NOAA-19 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mhs_n19.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mhs_n19.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + Clouds: + - Water + - Ice + - Rain + - Snow + Cloud_Fraction: 1.0 + Cloud_Seeding: true + obs options: + Sensor_ID: mhs_n19 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Clouds: + - Water + - Ice + - Rain + - Snow + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/mhs_n19.20231009T210000Z.satbias.nc4 + output file: cycle_dir/mhs_n19.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/mhs_n19.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/mhs_n19.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/mhs_n19.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/mhs_n19.20231009T210000Z.satbias_cov.nc4 + obs filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 50.0 + maxvalue: 550.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + sensor: mhs_n19 + use_flag: None + minvalue: 1e-12 + action: + name: reject + - filter: Domain Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: MetaData/sensorScanPosition + minvalue: 10 + maxvalue: 81 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: 1-3 + where: + - variable: + name: MetaData/latitude + minvalue: -25.0 + maxvalue: -10.0 + - variable: + name: MetaData/longitude + minvalue: 260.0 + maxvalue: 300.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/surface_snow_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/ice_area_fraction + minvalue: 0.01 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + - variable: + name: GeoVaLs/average_surface_temperature_within_field_of_view + maxvalue: 275 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + test_bias: ObsBiasData + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: mhs_n19 + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_n19 + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_n19 + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 700.0 + - 700.0 + - 30.0 + - 50.0 + - 60.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: mhs_n19 + channels: None + threshold: 2.0 + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 0.0 + - 1.0 + - 0.0 + - 1.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: mhs_n19 + obserr_function: + name: ObsFunction/ObsErrorModelRamp + channels: None + options: + channels: None + xvar: + name: ObsFunction/CLWRetSymmetricMW + options: + clwret_ch89v: 1 + clwret_ch166v: 2 + clwret_types: + - ObsValue + - HofX + bias_application: HofX + x0: + - 0.05 + - 0.05 + - 0.05 + - 0.05 + - 0.05 + x1: + - 25.0 + - 25.0 + - 25.0 + - 25.0 + - 25.0 + err0: + - 300.0 + - 300.0 + - 2.5 + - 2.0 + - 2.0 + err1: + - 350.0 + - 350.0 + - 15.0 + - 25.0 + - 30.0 + obserr_bound_max: + - 5.0 + - 5.0 + - 10.0 + - 10.0 + - 10.0 + action: + name: reject + observation_name: mhs_n19 + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: MLS55 AURA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/mls55_aura.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.mls55_aura.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - ozoneProfile + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: VertInterp + vertical coordinate: air_pressure + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + obs filters: + - filter: Bounds Check + filter variables: + - name: ozoneProfile + minvalue: 0 + maxvalue: 10000 + action: + name: reject + - filter: Background Check + filter variables: + - name: ozoneProfile + threshold: 5.0 + action: + name: reject + observation_name: mls55_aura + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: OMI AURA + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/omi_aura.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.omi_aura.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - ozoneTotal + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: AtmVertInterpLay + geovals: + - mole_fraction_of_ozone_in_air + coefficients: + - 0.0078976797 + nlevels: + - 1 + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + obs filters: + - filter: Perform Action + filter variables: + - name: ozoneTotal + action: + name: assign error + error parameter: 5.0 + - filter: Bounds Check + filter variables: + - name: ozoneTotal + minvalue: 0 + maxvalue: 1000 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: ozoneTotal + test variables: + - name: MetaData/solarZenithAngle + maxvalue: 84.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: ozoneTotal + test variables: + - name: MetaData/sensorScanPosition + minvalue: 3 + maxvalue: 24 + action: + name: reject + - filter: Background Check + filter variables: + - name: ozoneTotal + threshold: 5.0 + action: + name: reject + observation_name: omi_aura + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: OMPSNM NPP + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/ompsnm_npp.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.ompsnm_npp.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - ozoneTotal + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: AtmVertInterpLay + geovals: + - mole_fraction_of_ozone_in_air + coefficients: + - 0.0078976797 + nlevels: + - 1 + obs filters: + - filter: Perform Action + filter variables: + - name: ozoneTotal + action: + name: assign error + error parameter: 5.216 + - filter: Bounds Check + filter variables: + - name: ozoneTotal + minvalue: 0 + maxvalue: 1000 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: ozoneTotal + test variables: + - name: MetaData/solarZenithAngle + maxvalue: 84.0 + action: + name: reject + - filter: Background Check + filter variables: + - name: ozoneTotal + threshold: 5.0 + action: + name: reject + observation_name: ompsnm_npp + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: Pilot Balloon + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/pibal.20231009T210000Z.nc4 + missing file action: warn + obsgrouping: + group variables: + - stationIdentification + - releaseTime + sort variable: pressure + sort order: descending + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.pibal.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - windEastward + - windNorthward + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + vertical coordinate backup: air_pressure + observation vertical coordinate group backup: MetaData + observation vertical coordinate backup: pressure + interpolation method backup: log-linear + hofx scaling field: SurfaceWindScalingCombined + hofx scaling field group: DerivedVariables + linear obs operator: + name: Composite + components: + - name: VertInterp + observation alias file: experiment_root/experiment_id/configuration/jedi/interfaces/geos_atmosphere/observations/obsop_name_map.yaml + vertical coordinate: geopotential_height + observation vertical coordinate group: DerivedVariables + observation vertical coordinate: adjustedHeight + interpolation method: linear + vertical coordinate backup: air_pressure + observation vertical coordinate group backup: MetaData + observation vertical coordinate backup: pressure + interpolation method backup: log-linear + hofx scaling field: SurfaceWindScalingCombined + hofx scaling field group: DerivedVariables + obs pre filters: + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_not_in: 221 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_not_in: 221 + action: + name: reject + obs prior filters: + - filter: Variable Transforms + Transform: AdjustedHeightCoordinate + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingHeight + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingPressure + SkipWhenNoObs: false + - filter: Variable Transforms + Transform: SurfaceWindScalingCombined + SkipWhenNoObs: false + obs post filters: + - filter: Bounds Check + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -135 + maxvalue: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: + - 110000 + - 105000 + - 100000 + - 95000 + - 90000 + - 85000 + - 80000 + - 75000 + - 70000 + - 65000 + - 60000 + - 55000 + - 50000 + - 45000 + - 40000 + - 35000 + - 30000 + - 25000 + - 20000 + - 15000 + - 10000 + - 7500 + - 5000 + - 4000 + - 3000 + - 2000 + - 1000 + - 500 + - 400 + - 300 + - 200 + - 100 + - 0 + errors: + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.5 + - 1.6 + - 1.7 + - 1.8 + - 1.9 + - 2.0 + - 2.1 + - 2.2 + - 2.2 + - 2.3 + - 2.3 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.4 + - 2.5 + - 2.7 + - 2.9 + - 3.1 + - 3.3 + - 3.5 + - 3.7 + - 3.9 + - 4.1 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: PreUseFlag/windEastward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: PreUseFlag/windNorthward + is_in: 100 + action: + name: reject + - filter: Perform Action + filter variables: + - name: windEastward + action: + name: assign error + error function: GsiAdjustObsError/windEastward + where: + - variable: + name: GsiAdjustObsError/windEastward + value: is_valid + - filter: Perform Action + filter variables: + - name: windNorthward + action: + name: assign error + error function: GsiAdjustObsError/windNorthward + where: + - variable: + name: GsiAdjustObsError/windNorthward + value: is_valid + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 221 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 4.0 + adjusted_error_name: GsiAdjustObsError + geovar_sfc_geomz: height_above_mean_sea_level_at_surface + - filter: Background Check + filter variables: + - name: windEastward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 221 + cgross: + - 8.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windEastward + action: + name: reject + - filter: Background Check + filter variables: + - name: windNorthward + function absolute threshold: + - name: ObsFunction/WindsSPDBCheck + options: + wndtype: + - 221 + cgross: + - 8.0 + error_min: + - 1.4 + error_max: + - 6.1 + variable: windNorthward + action: + name: reject + - filter: Bounds Check + filter variables: + - name: windEastward + test variables: + - name: ObsErrorData/windEastward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windEastward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windEastward + defer to post: true + - filter: Variable Assignment + assignments: + - name: TempObsErrorData/windNorthward + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/windNorthward + defer to post: true + - filter: Bounds Check + filter variables: + - name: windNorthward + test variables: + - name: ObsErrorData/windNorthward + maxvalue: 100.0 + action: + name: reject + defer to post: true + - filter: BlackList + filter variables: + - name: windEastward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windEastward + where: + - variable: + name: ObsType/windEastward + is_in: 221 + defer to post: true + - filter: BlackList + filter variables: + - name: windNorthward + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorDuplicateCheck + options: + use_air_pressure: true + variable: windNorthward + where: + - variable: + name: ObsType/windNorthward + is_in: 221 + defer to post: true + observation_name: pibal + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: ssmis_f17 + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/ssmis_f17.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.ssmis_f17.20231009T210000Z.nc4 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + io pool: + max pool size: 6 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs options: + Sensor_ID: ssmis_f17 + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + obs bias: + input file: cycle_dir/ssmis_f17.20231009T210000Z.satbias.nc4 + output file: cycle_dir/ssmis_f17.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: lapseRate + order: 2 + tlapse: cycle_dir/ssmis_f17.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/ssmis_f17.20231009T210000Z.tlapse.txt + - name: cosineOfLatitudeTimesOrbitNode + - name: sineOfLatitude + - name: emissivityJacobian + - name: sensorScanAngle + var_name: sensorScanPosition + order: 4 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 3 + - name: sensorScanAngle + var_name: sensorScanPosition + order: 2 + - name: sensorScanAngle + var_name: sensorScanPosition + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/ssmis_f17.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/ssmis_f17.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: + - 1.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 1.0 + - 1.0 + - 3.0 + - 3.0 + - 3.0 + - 3.0 + - 2.4 + - 1.27 + - 1.44 + - 3.0 + - 1.34 + - 1.74 + - 3.75 + - 3.0 + - 3.0 + - 2.0 + - 6.4 + - 1.0 + - 1.0 + obs post filters: + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + absolute threshold: 3.5 + remove bias correction: true + where: + - variable: + name: GeoVaLs/water_area_fraction + minvalue: 0.99 + action: + name: reject + - filter: RejectList + filter variables: + - name: brightnessTemperature + channels: None + where: + - variable: + name: GeoVaLs/geopotential_height_at_surface + minvalue: 2000.0 + min_exclusive: true + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + - filter: RejectList + filter variables: + - name: brightnessTemperature + channels: 1-3,8-18 + where: + - variable: + name: GeoVaLs/land_area_fraction + maxvalue: 0.99 + max_exclusive: true + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + - variable: + name: GeoVaLs/ice_area_fraction + maxvalue: 0.99 + max_exclusive: true + - variable: + name: GeoVaLs/surface_snow_area_fraction + maxvalue: 0.99 + max_exclusive: true + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 1-2, 12-16 + reference: ObsValue/brightnessTemperature_2 + value: HofX/brightnessTemperature_2 + minvalue: -1.5 + maxvalue: 1.5 + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + absolute threshold: 3.5 + remove bias correction: true + where: + - variable: + name: GeoVaLs/water_area_fraction + maxvalue: 0.99 + max_exclusive: true + action: + name: reject + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 9 + reference: ObsValue/brightnessTemperature_9 + value: + name: ObsFunction/Arithmetic + options: + variables: + - name: HofX/brightnessTemperature_17 + - name: ObsBiasData/brightnessTemperature_17 + - name: HofX/brightnessTemperature_8 + - name: ObsBiasData/brightnessTemperature_8 + coefs: + - -0.485934 + - 0.485934 + - 0.473806 + - -0.473806 + intercept: 271.252327 + maxvalue: 2 + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 10 + reference: ObsValue/brightnessTemperature_10 + value: + name: ObsFunction/Arithmetic + options: + variables: + - name: HofX/brightnessTemperature_17 + - name: ObsBiasData/brightnessTemperature_17 + - name: HofX/brightnessTemperature_8 + - name: ObsBiasData/brightnessTemperature_8 + coefs: + - -0.413688 + - 0.413688 + - 0.361549 + - -0.361549 + intercept: 272.280341 + maxvalue: 2 + - filter: Difference Check + filter variables: + - name: brightnessTemperature + channels: 11 + reference: ObsValue/brightnessTemperature_11 + value: + name: ObsFunction/Arithmetic + options: + variables: + - name: HofX/brightnessTemperature_17 + - name: ObsBiasData/brightnessTemperature_17 + - name: HofX/brightnessTemperature_8 + - name: ObsBiasData/brightnessTemperature_8 + coefs: + - -0.400882 + - 0.400882 + - 0.27051 + - -0.27051 + intercept: 278.824902 + maxvalue: 2 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/NearSSTRetCheckIR + channels: None + options: + channels: None + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: ssmis_f17 + obserr_demisf: + - 0.01 + - 0.01 + - 0.01 + - 0.01 + - 0.01 + obserr_dtempf: + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - 0.5 + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor1 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_1 + coefs: + - 2.25 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_1 + threshold: DerivedMetaData/errorInflationFactor1 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor2 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_2 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_2 + threshold: DerivedMetaData/errorInflationFactor2 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor3 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_3 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_3 + threshold: DerivedMetaData/errorInflationFactor3 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor4 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_4 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_4 + threshold: DerivedMetaData/errorInflationFactor4 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor5 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_5 + coefs: + - 0.75 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_5 + threshold: DerivedMetaData/errorInflationFactor5 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor6 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_6 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_6 + threshold: DerivedMetaData/errorInflationFactor6 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor7 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_7 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_7 + threshold: DerivedMetaData/errorInflationFactor7 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor8 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_8 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_8 + threshold: DerivedMetaData/errorInflationFactor8 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor9 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_9 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_9 + threshold: DerivedMetaData/errorInflationFactor9 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor10 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_10 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_10 + threshold: DerivedMetaData/errorInflationFactor10 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor11 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_11 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_11 + threshold: DerivedMetaData/errorInflationFactor11 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor12 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_12 + coefs: + - 3.6 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_12 + threshold: DerivedMetaData/errorInflationFactor12 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor13 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_13 + coefs: + - 1.905 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_13 + threshold: DerivedMetaData/errorInflationFactor13 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor14 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_14 + coefs: + - 2.16 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_14 + threshold: DerivedMetaData/errorInflationFactor14 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor15 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_15 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_15 + threshold: DerivedMetaData/errorInflationFactor15 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor16 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_16 + coefs: + - 2.01 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_16 + threshold: DerivedMetaData/errorInflationFactor16 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor17 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_17 + coefs: + - 2.61 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_17 + threshold: DerivedMetaData/errorInflationFactor17 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor18 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_18 + coefs: + - 5.625 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_18 + threshold: DerivedMetaData/errorInflationFactor18 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor19 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_19 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_19 + threshold: DerivedMetaData/errorInflationFactor19 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor20 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_20 + coefs: + - 4.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_20 + threshold: DerivedMetaData/errorInflationFactor20 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor21 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_21 + coefs: + - 3.0 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_21 + threshold: DerivedMetaData/errorInflationFactor21 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor22 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_22 + coefs: + - 9.6 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_22 + threshold: DerivedMetaData/errorInflationFactor22 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor23 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_23 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_23 + threshold: DerivedMetaData/errorInflationFactor23 + absolute threshold: 6.0 + action: + name: reject + - filter: Variable Assignment + assignments: + - name: DerivedMetaData/errorInflationFactor24 + type: float + function: + name: ObsFunction/Arithmetic + options: + variables: + - name: ObsErrorData/brightnessTemperature_24 + coefs: + - 1.5 + exponents: + - -1 + - filter: Background Check + filter variables: + - name: brightnessTemperature_24 + threshold: DerivedMetaData/errorInflationFactor24 + absolute threshold: 6.0 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: ssmis_f17 + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: AMSU-A METOP-B + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_metop-b.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_metop-b.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_metop-b + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_metop-b.20231009T210000Z.satbias.nc4 + output file: cycle_dir/amsua_metop-b.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_metop-b.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_metop-b.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_metop-b.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_metop-b.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id008 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_metop-b + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_metop-b + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_metop-b + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_metop-b + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_metop-b + error parameter vector: *id008 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_metop-b + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_metop-b + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 + - obs space: + name: AMSU-A METOP-C + obsdatain: + engine: + type: H5File + obsfile: cycle_dir/amsua_metop-c.20231009T210000Z.nc4 + missing file action: warn + obsdataout: + engine: + type: H5File + obsfile: cycle_dir/experiment_id.amsua_metop-c.20231009T210000Z.nc4 + io pool: + max pool size: 6 + simulated variables: + - brightnessTemperature + channels: None + distribution: + name: Halo + halo size: 5000000.0 + obs operator: + name: CRTM + Absorbers: + - H2O + - O3 + - CO2 + obs options: + Sensor_ID: amsua_metop-c + EndianType: little_endian + CoefficientPath: /discover/nobackup/projects/gmao/advda/SwellStaticFiles/jedi/crtm_coefficients/2.4.1// + linear obs operator: + Absorbers: + - H2O + - O3 + Surfaces: + - Water_Temperature + - Land_Temperature + - Ice_Temperature + - Snow_Temperature + obs bias: + input file: cycle_dir/amsua_metop-c.20231009T210000Z.satbias.nc4 + output file: cycle_dir/amsua_metop-c.20231009T210000Z.satbias.nc4 + static bc: + predictors: + - name: constant + - name: cloudWaterContent + sensor: AMSUA + clwdif_ch238: 1 + clwdif_ch314: 2 + - name: lapseRate + order: 2 + tlapse: cycle_dir/amsua_metop-c.20231009T210000Z.tlapse.txt + - name: lapseRate + tlapse: cycle_dir/amsua_metop-c.20231009T210000Z.tlapse.txt + - name: emissivityJacobian + - name: sensorScanAngle + order: 4 + - name: sensorScanAngle + order: 3 + - name: sensorScanAngle + order: 2 + - name: sensorScanAngle + covariance: + minimal required obs number: 20 + variance range: + - 1e-06 + - 10.0 + step size: 0.0001 + largest analysis variance: 10000.0 + prior: + input file: cycle_dir/amsua_metop-c.20231009T210000Z.satbias_cov.nc4 + inflation: + ratio: 1.1 + ratio for small dataset: 2.0 + output file: cycle_dir/amsua_metop-c.20231009T210000Z.satbias_cov.nc4 + obs prior filters: + - filter: Perform Action + filter variables: + - name: brightnessTemperature + channels: None + action: + name: assign error + error parameter vector: &id009 + - 2.5 + - 2.0 + - 2.0 + - 0.55 + - 0.3 + - 0.23 + - 0.23 + - 0.25 + - 0.25 + - 0.35 + - 0.4 + - 0.55 + - 0.8 + - 5.0 + - 2.5 + obs post filters: + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: 1-6,15 + test variables: + - name: ObsValue/brightnessTemperature + channels: 1-6,15 + treat missing as out of bounds: true + minvalue: 100.0 + maxvalue: 500.0 + flag all filter variables if any test variable is out of bounds: true + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + minvalue: 100.0 + maxvalue: 500.0 + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/HydrometeorCheckAMSUAclr + channels: None + options: + sensor: amsua_metop-c + channels: None + test_biaspredictor: cloudWaterContentPredictor + maxvalue: 0.0 + action: + name: reject + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + sensor: amsua_metop-c + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + - filter: BlackList + filter variables: + - name: brightnessTemperature + channels: None + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorSurfJacobianRad + channels: None + options: + channels: None + sensor: amsua_metop-c + use_biasterm: true + test_biasterm: ObsBiasTerm + obserr_demisf: + - 0.01 + - 0.02 + - 0.015 + - 0.02 + - 0.2 + obserr_dtempf: + - 0.5 + - 2.0 + - 1.0 + - 2.0 + - 4.5 + - filter: Background Check + filter variables: + - name: brightnessTemperature + channels: None + function absolute threshold: + - name: ObsFunction/ObsErrorBoundMW + channels: None + options: + sensor: amsua_metop-c + channels: None + obserr_bound_latitude: + name: ObsFunction/ObsErrorFactorLatRad + options: + latitude_parameters: + - 25.0 + - 0.25 + - 0.04 + - 3.0 + obserr_bound_transmittop: + name: ObsFunction/ObsErrorFactorTransmitTopRad + channels: None + options: + channels: None + obserr_bound_topo: + name: ObsFunction/ObsErrorFactorTopoRad + channels: None + options: + channels: None + sensor: amsua_metop-c + error parameter vector: *id009 + obserr_bound_max: + - 4.5 + - 4.5 + - 4.5 + - 2.5 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.5 + - 3.5 + - 4.5 + - 4.5 + - 4.5 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/InterChannelConsistencyCheck + channels: None + options: + channels: None + use passive_bc: true + sensor: amsua_metop-c + use_flag: None + maxvalue: 1e-12 + action: + name: reject + - filter: Bounds Check + filter variables: + - name: brightnessTemperature + channels: None + test variables: + - name: ObsFunction/ChannelUseflagCheckRad + channels: None + options: + channels: None + use_flag: None + minvalue: 1e-12 + action: + name: reject + observation_name: amsua_metop-c + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 1500000.0 + max nobs: 10000 +local ensemble DA: + solver: Deterministic GETKF + use linear observer: true + vertical localization: + fraction of retained variance: 0.5 + lengthscale: 1.5 + lengthscale units: logp + inflation: + rtps: 0.5 + rtpp: 0.6 + mult: 1.1 +driver: + save posterior mean: true + save posterior ensemble: false + save posterior mean increment: true + save posterior ensemble increments: false +output: + filetype: auxgrid + gridtype: latlon + filename: cycle_dir/geos.analysis.mean. + field io names: &id010 + eastward_wind: ua + northward_wind: va + air_temperature: t + air_pressure_at_surface: ps + air_pressure_levels: pe + water_vapor_mixing_ratio_wrt_moist_air: q + cloud_liquid_ice: qi + cloud_liquid_water: ql + mole_fraction_of_ozone_in_air: o3ppmv +output increment: + filetype: auxgrid + gridtype: latlon + filename: cycle_dir/geos.mean-inc. + field io names: *id010 diff --git a/src/swell/utilities/mock_jedi_config.py b/src/swell/utilities/mock_jedi_config.py new file mode 100644 index 000000000..cf849a485 --- /dev/null +++ b/src/swell/utilities/mock_jedi_config.py @@ -0,0 +1,81 @@ +# (C) Copyright 2021- United States Government as represented by the Administrator of the +# National Aeronautics and Space Administration. All Rights Reserved. +# +# This software is licensed under the terms of the Apache Licence Version 2.0 +# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. + + +# -------------------------------------------------------------------------------------------------- + +import os +import shutil +import tempfile + +from swell.tasks.base.task_base import task_wrapper +from swell.deployment.create_experiment import create_experiment_directory + +# -------------------------------------------------------------------------------------------------- + + +def mock_jedi_config(suite: str, + model: str, + datetime: str, + executable_type: str, + work_dir: str | None = None, + copy_dir: str | None = None) -> str: + + '''Generate a mock jedi config using the settings for a particular suite. Configs are generated + in a 'dry-run' mode, without checking for existence of observations. Filepaths are replaced + with placeholders + + Parameters: + suite: String of suite within swell + model: Name of model component for the suite to run (e.g. geos_marine) + datetime: Cycle that is config is generated for (e.g. 20210701T120000Z) + executable_type: JEDI executable type (e.g. variational, hofx, fgat) + copy_dir: Directory to copy rendered file to + + Rendered file is placed under a temporary experiment directory + ''' + + if work_dir is None: + tempdir = tempfile.mkdtemp() + else: + tempdir = work_dir + + override_dict = {'models': {}} + override_dict['experiment_root'] = tempdir + override_dict['generate_yaml_and_exit'] = True + override_dict['mock_experiment'] = True + override_dict['models'][model] = {'check_for_obs': False} + + create_experiment_directory(suite, method='defaults', platform='nccs_discover_sles15', + override=override_dict, advanced=False, slurm=None, skip_r2d2=True) + + experiment_yaml = os.path.join(tempdir, f'swell-{suite}', + f'swell-{suite}-suite', 'experiment.yaml') + + task_wrapper('RenderJediObservations', experiment_yaml, datetime, + model, ensemblePacket=None) + + if executable_type == 'localensembleda': + executable_name = 'LocalEnsembleDa' + else: + executable_name = executable_type.capitalize() + + task_wrapper(f'RunJedi{executable_name}Executable', experiment_yaml, datetime, + model, ensemblePacket=None) + + cycle_dir = os.path.join(tempdir, f'swell-{suite}', 'run', datetime, model) + + filename = f'jedi_{executable_type}_config.yaml' + config_file = os.path.join(cycle_dir, filename) + + if copy_dir is not None: + new_path = os.path.join(copy_dir, f'jedi_{suite}_config.yaml') + shutil.copy(config_file, new_path) + config_file = new_path + + return config_file + +# -------------------------------------------------------------------------------------------------- diff --git a/src/swell/utilities/question_defaults.py b/src/swell/utilities/question_defaults.py index fe59001b9..946cdc41b 100644 --- a/src/swell/utilities/question_defaults.py +++ b/src/swell/utilities/question_defaults.py @@ -130,6 +130,16 @@ class marine_models(SuiteQuestion): # -------------------------------------------------------------------------------------------------- + @dataclass + class mock_experiment(SuiteQuestion): + default_value: bool = False + question_name: str = "mock_experiment" + ask_question: bool = False + prompt: str = "Dry-run option for comparing configs." + widget_type: WType = WType.BOOLEAN + + # -------------------------------------------------------------------------------------------------- + @dataclass class model_components(SuiteQuestion): default_value: str = "defer_to_code" diff --git a/src/swell/utilities/render_jedi_interface_files.py b/src/swell/utilities/render_jedi_interface_files.py index 779a73fb1..491ceff14 100644 --- a/src/swell/utilities/render_jedi_interface_files.py +++ b/src/swell/utilities/render_jedi_interface_files.py @@ -83,6 +83,8 @@ def __init__( 'ensemble_num_members', 'ensmean_only', 'ensmeanvariance_only', + 'experiment_id', + 'experiment_root', 'final_cycle_point', 'gradient_norm_reduction', 'gsibec_configuration', diff --git a/src/swell/utilities/scripts/create_mock_configs.py b/src/swell/utilities/scripts/create_mock_configs.py new file mode 100644 index 000000000..7faad4d3b --- /dev/null +++ b/src/swell/utilities/scripts/create_mock_configs.py @@ -0,0 +1,73 @@ +# (C) Copyright 2021- United States Government as represented by the Administrator of the +# National Aeronautics and Space Administration. All Rights Reserved. +# +# This software is licensed under the terms of the Apache Licence Version 2.0 +# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. + + +# -------------------------------------------------------------------------------------------------- + +import os + +from swell.swell_path import get_swell_path +from swell.utilities.mock_jedi_config import mock_jedi_config +from swell.utilities.test_cache import get_test_cache + +# -------------------------------------------------------------------------------------------------- + +defaults_dict = {} + +marine_default_datetime = '20210701T120000Z' +atmosphere_default_datetime = '20231010T000000Z' +compo_default_datetime = '20230805T1800Z' + +defaults_dict['3dvar_marine'] = {'datetime': marine_default_datetime, + 'model': 'geos_marine', + 'executable_type': 'variational'} + +defaults_dict['3dvar_marine_cycle'] = defaults_dict['3dvar_marine'].copy() + +defaults_dict['3dfgat_marine_cycle'] = {'datetime': marine_default_datetime, + 'model': 'geos_marine', + 'executable_type': 'fgat'} + +defaults_dict['3dvar_atmos'] = {'datetime': atmosphere_default_datetime, + 'model': 'geos_atmosphere', + 'executable_type': 'variational'} + +defaults_dict['3dfgat_atmos'] = {'datetime': atmosphere_default_datetime, + 'model': 'geos_atmosphere', + 'executable_type': 'variational'} + +defaults_dict['hofx'] = {'datetime': atmosphere_default_datetime, + 'model': 'geos_atmosphere', + 'executable_type': 'hofx'} + +defaults_dict['hofx_cf'] = {'datetime': '20230805T180000Z', + 'model': 'geos_cf', + 'executable_type': 'hofx'} + +defaults_dict['3dvar_cf'] = {'datetime': '20230805T180000Z', + 'model': 'geos_cf', + 'executable_type': 'variational'} + +defaults_dict['localensembleda'] = {'datetime': atmosphere_default_datetime, + 'model': 'geos_atmosphere', + 'executable_type': 'localensembleda'} + +# -------------------------------------------------------------------------------------------------- + + +def main() -> None: + for suite, defaults in defaults_dict.items(): + model = defaults['model'] + datetime = defaults['datetime'] + executable_type = defaults['executable_type'] + + work_dir = get_test_cache() + copy_dir = os.path.join(get_swell_path(), 'test', 'jedi_configs') + + mock_jedi_config(suite, model, datetime, executable_type, work_dir, copy_dir) + + +# -------------------------------------------------------------------------------------------------- diff --git a/src/swell/utilities/suite_utils.py b/src/swell/utilities/suite_utils.py index 4e9c8a144..1060a8b32 100644 --- a/src/swell/utilities/suite_utils.py +++ b/src/swell/utilities/suite_utils.py @@ -11,6 +11,7 @@ import glob import os import importlib +from ruamel.yaml import YAML from swell.swell_path import get_swell_path @@ -77,3 +78,14 @@ def get_suite_tests() -> list: # -------------------------------------------------------------------------------------------------- + +def read_override_file(override_path: str | None) -> dict: + + if override_path is None: + return {} + else: + yaml = YAML(typ='safe') + with open(override_path, 'r') as f: + return yaml.load(f) + +# --------------------------------------------------------------------------------------------------