Skip to content

Revised PR#995 for adding analysis grid nudging capability#1481

Draft
maywswong wants to merge 18 commits into
MPAS-Dev:masterfrom
maywswong:grid-nudging
Draft

Revised PR#995 for adding analysis grid nudging capability#1481
maywswong wants to merge 18 commits into
MPAS-Dev:masterfrom
maywswong:grid-nudging

Conversation

@maywswong

@maywswong maywswong commented Jul 2, 2026

Copy link
Copy Markdown

This PR is created to merge code changes related to adding an analysis grid nudging capability in MPAS-A. The core of the code changes was presented in Bullock et al. (2018) and PR #995. In this PR, several updates and revisions are made to PR #995 and are as follow.

(1) Added capabilities in init_atmosphere_model to generate the target "FDDA" analysis files that are required for input to atmosphere_model when the analysis nudging option is turned on, instead of using an offline script as presented in PR #995.

(2) Calls to the computation of the nudging tendencies are implemented similar to those for other additional tendency terms, such as those from Incremental Analysis Update (IAU), instead of adding the nudging tendencies inside the physics as implemented in PR #995.

(3) Renamed new variables in PR #995 (XX_fdda_new, XX_fdda_old) to a more concise two-time-level variables (XX_fdda). Also renamed the namelist record in namelist.atmosphere from &fdda to &nudging.

Reference:
Bullock Jr., O. R., H. Foroutan, R. C. Gilliam, and J. A. Herwehe, 2018:
Adding four-dimensional data assimilation by analysis nudging to the
Model for Prediction Across Scales – Atmosphere (version 4.0). Geosci.
Model Dev., 11, 2897–2922. https://doi.org/10.5194/gmd-11-2897-2018

Related PR: #995

jherwehe and others added 18 commits August 17, 2025 02:03
This EPA_FDDA commit will add 3-D grid analysis nudging FDDA to MPAS-A
as an option to assist in keeping retrospective simulations dynamically
on track to improve evaluation against observations.  This FDDA
development for MPAS-A (Bullock et al., 2018) nudges temperature,
humidity, and wind toward target values and is based on the comparable
FDDA feature available in WRF, including MPAS-A versions of many of the
WRF FDDA options. Enabling analysis nudging FDDA in MPAS-A maintains
high fidelity to the reference fields while still conserving mass.  An
extra step (additional details are provided in the associated pull
request) using init_atmosphere_model is necessary to generate the FDDA
file required for input to a subsequent MPAS-A simulation with FDDA
enabled.

New file:
  src/core_atmosphere/physics/mpas_atmphys_fdda.F

Modified files:
  Makefile
  src/core_atmosphere/Registry.xml
  src/core_atmosphere/physics/Makefile
  src/core_atmosphere/physics/mpas_atmphys_control.F
  src/core_atmosphere/physics/mpas_atmphys_driver.F
  src/core_atmosphere/physics/mpas_atmphys_manager.F
  src/core_atmosphere/physics/mpas_atmphys_todynamics.F
  src/core_init_atmosphere/Registry.xml

These EPA_FDDA code changes to MPAS-A are based on the 22 August 2022
"develop" branch of MPAS v7.3.

Reference:
Bullock Jr., O. R., H. Foroutan, R. C. Gilliam, and J. A. Herwehe, 2018:
  Adding four-dimensional data assimilation by analysis nudging to the
  Model for Prediction Across Scales  Atmosphere (version 4.0). Geosci.
  Model Dev., 11, 28972922.  https://doi.org/10.5194/gmd-11-2897-2018
…iles using

provided intermediate files. Tested for GFS intermediate files and FDDA input files generated
at the same file interval as fg_interval.
…lar to mpas_atm_iau.F

The FDDA scheme originally in physics/mpas_atmphys_fdda.F is now dynamics/mpas_atm_fdda.F, with
added variable transformation and passing of FDDA tendencies to the dynamics through "tend_ru_physics, tend_rtheta_physics".

Other changes include moving the FDDA configuration options in the namelist out of the physics namelist record and
into its own fdda namelist record.
…cs variable

structure to its own tend_fdda variable structure in the Registry.
…cs variable structure to its own tend_fdda variable structure in the Registry.

*Modified the call to apply_fdda to include tend_fdda
… two time levels.

FDDA input fields are read in and shifted in time levels, similar to how LBC fields are done.
1. Remove changes to Makefile from original PR
2. Add new fdda variables and remove the old in registry
3. Add missed argument xtime_s to calls to atm_srk3 and atm_timestep
…structZ_fdda from the fdda_state variable structure in core_init_atmosphere, so they are not output by default in the FDDA target files.

* Setting config_init_case = 11 in core_init_atmosphere to be the analysis nudging case
…ure.

To minimize the output fields needed in the target analysis nudging files written out, modified the default output variables for the fdda stream instead.
…gurations from 'fdda' to 'nudging' in atmosphere_model.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants