MPAS-JEDI | config_do_DAcycling vs config_do_restart
- NWP | BUFR data | GFS - Binary Universal Form for the Representation of meteorological data
- MPAS | MPAS-JEDI
- MPAS | MPAS-JEDI V3.0.2
- MPAS | MPAS-JEDI | spack-stack 1.9.3
- MPAS | Joint MPAS/WRF Users Workshop 2025 | MPASv8.3.0
- Spack-Stack: building JEDIbundles on your own machine | 202506NCAS

For simulation using the MPAS-JEDI analysis file (an.nc) as the initial condition, the recommended settings are:
In namelist.atmosphere file,
config_do_DAcycling=trueconfig_do_restart=false
Why These Settings?
config_do_DAcycling = true: This option tells MPAS to recalculate the model's coupled prognostic fields (liketheta_m,rho_zz, andru) from the uncoupled analysis variables in the file . Because JEDI's analysis output (whether arestartormpasoutfile) contains uncoupled fields, setting this totrueis necessary to ensure the model initializes correctly from the updated analysis .- When JEDI updates state variables like temperature (\(T\)), surface pressure (\(p_{s}\)), or moisture (\(q_{v}\)), coupled and diagnostic state variables (such as modify-coupled potential temperature \(\theta_m\), dry air density \(\rho_{zz}\), and pressure \(p\)) must be recalculated to restore thermodynamic consistency across the grid.
- Setting
config_do_DAcycling = .true.instructs MPAS-A upon initialization to recompute these coupled atmospheric variables directly from the newly analyzed state fields rather than assuming they were inherited unchanged from a prior hydrostatic/prognostic step.
- Setting
- When JEDI updates state variables like temperature (\(T\)), surface pressure (\(p_{s}\)), or moisture (\(q_{v}\)), coupled and diagnostic state variables (such as modify-coupled potential temperature \(\theta_m\), dry air density \(\rho_{zz}\), and pressure \(p\)) must be recalculated to restore thermodynamic consistency across the grid.
config_do_restart = false: While thean.ncfile is technically a restart-style file, the JEDI documentation specifies thatconfig_do_restartshould be set tofalsefor the MPAS-A forecast when using the recommended 2-stream input approach (where the analysis is stored inmpasoutfiles) . If you are instead using therestartstream for your JEDI input, you would set it totrue. Given the common use ofan.ncas a JEDI analysis output,falseis the correct choice for the forecast step.
In short, setting DO_DACYCLING = true is the key step that ensures your forecast starts correctly from the JEDI analysis field.
The Key Difference: Initialization vs. Direct Read
There is a significant difference. Setting config_do_DAcycling = true fundamentally changes how MPAS initializes the model state from the input file, compared to a standard restart run.
The core distinction lies in what happens to the coupled variables (theta_m, rho_zz, etc.) when the model starts.
- Standard Restart (
config_do_DAcycling = false): The model trusts the file completely. It reads the prognostic variables directly from the restart file and uses them "as-is" to continue the simulation. There is no recalculation of the coupled state. - DA Cycling Setup (
config_do_DAcycling = true): The model distrusts the file's coupled state. Even if the file containstheta_mandrho_zz, the model ignores those values and forces a call to theatm_init_coupled_diagnosticsroutine . This routine recalculates the coupled fields (theta_m,rho_zz,ru, etc.) from the uncoupled analysis variables (liketheta,rho,qv,u).
Core Differences
Using config_do_DAcycling = .true. with config_do_restart = .false. is fundamentally different from a standard Restart Run (config_do_restart = .true.).
| Feature | Data Assimilation Run (DAcycling = .true., restart = .false.) |
Standard Restart Run (restart = .true.) |
|---|---|---|
| Input Source | Reads state variables from an updated analysis file (e.g., an.nc supplied as init.nc). |
Reads state variables from a binary restart file generated by a prior MPAS run. |
| Coupled Variables (\(\theta_m, \rho_{zz}\)) | Recomputed dynamically from updated basic state variables (\(T, p_s, q_v\)). | Loaded directly as exact values saved at the restart time step. |
| Integrity of Physics/Dynamics | Recalculates missing hydrostatic and diagnostic fields to ensure physical balance before stepping forward. | Resumes exact mathematical state continuously from the last model time step. |
| Accumulated Diagnostics | Reset to zero (e.g., accumulated rainfall, diagnostic radiation flux totals). | Preserved continuously from the start of the simulation sequence. |
What Happens Behind the Scenes
1. Variable Coupling & Recalculation
In MPAS-A, the prognostic variables are coupled mass/thermodynamic state variables like modified coupled potential temperature (\(\theta_m\)) and dry air mass density (\(\rho_{zz}\)).
- DA Cycling Mode: JEDI (or DART) updates standard meteorological variables (\(T\), \(u\), \(v\), \(q\), \(p_s\)). When MPAS boots up with
config_do_DAcycling = .true., it reads those updated analysis fields and recalculates internal coupled parameters (\(\theta_m, \rho_{zz}\)) to keep the model hydrostatically consistent. - Restart Mode: The model expects that no fields have been changed externally. It bypasses diagnostic recalculation and assumes \(\theta_m\) and \(\rho_{zz}\) are perfectly matched to the exact millisecond the prior run stopped.
2. Diagnostic Accumulators
- DA Cycling Mode: Resets time-integrated diagnostics (like
raincorrainncprecipitation accumulation). - Restart Mode: Retains time-integrated diagnostics so total rainfall maps reflect the entire run duration.
When to Use Which?
- Use
config_do_DAcycling = .true.&config_do_restart = .false.: Whenever you insert a new analysis state into MPAS from JEDI, WRFDA, or DART. - Use
config_do_restart = .true.: Whenever you are simply extending a forecast that paused or stopped (e.g., running hours 0–24, stopping, then resuming hours 24–48 with no external data modification).
Why This Matters for MPAS-JEDI
This behavior is specifically designed for data assimilation workflows:
- JEDI Output Format: The MPAS-JEDI analysis file (
an.nc) primarily updates uncoupled variables (potential temperaturetheta, dry densityrho, water vaporqv, and edge-normal windu) . - Necessary Coupling: To run the forecast model, these uncoupled variables must be mathematically coupled into the model's prognostic variables (
theta_mis moist potential temperature,rho_zzis the dry-air density in the terrain-following coordinate, etc.). - The Solution: By setting
config_do_DAcycling = true, you tell MPAS, "Do not read the coupled variables from this file. Instead, take the uncoupled analysis variables and run the initialization routine to generate a consistent, coupled model state from them" .
The "Bit-Level" Difference
A crucial technical detail: even if you take a standard restart file and run it with config_do_DAcycling = true, you will get different results than if you ran it with config_do_DAcycling = false .
This is because the atm_init_coupled_diagnostics routine uses floating-point calculations that introduce bit-level differences. The recalculated theta_m will be mathematically equivalent to the stored value in the restart file, but not bitwise identical. This is expected and correct behavior for a DA run—the model is starting from a fresh, internally consistent initialization derived from the analysis variables.
References
- config_do_DAcycling in MPAS | JiaWang Start dateSep 24, 2026
- For a
restart run, settingconfig_do_DAcycling = truewill force a call to theatm_init_coupled_diagnosticsroutine, which is otherwise only called at the beginning of a cold-start simulation; see the logic inatm_mpas_init_block: MPAS-Model/src/core_atmosphere/mpas_atm_core.F at v8.4.2 · MPAS-Dev/MPAS-Model . The re-computation oftheta_m,rho_zz, etc. in theatm_init_coupled_diagnosticsroutine will generally lead to bit-level differences in these fields compared with their values in the restart file.
- For a
- Some questions about the parameter cong_do_DAcycling | ateNov 21, 2022
- The 'config_do_DAcycling' option essentially controls whether the atm_init_coupled_diagnostics routine is called at the beginning of a restart simulation. The logic for this can be found around L.389 of mpas_atm_core.F (in MPAS v7.3).
- Within the
atm_init_coupled_diagnosticsroutine -- among other fields -- we computetheta_m,rho_zz,ru, andrwfrom the uncoupledtheta,rho,u,w, andqvfields in the restart file.