Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

how to read in the initial condition every time step in MPAS

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

I know we only need to provide MPAS with one initial condition (e.g., GFS analysis dataset prepared using WPS), then it can run forecast automatically. However, if I want to read new initial condition every time step, let's say every 3 hours (or 6 hours). How do we need to specify the namelist? or do we need to modify the code? I know when we use WRF to do simulation, WPS generates all the initial conditions for very time step.
Thank you
Just to make sure I fully understand, do you intend to effectively run a new "cold-start" simulation every 3 hours (or 6 hours)? Or is the intent to run the model for 3 hours, stop the model, update a subset of the prognostic fields (but not all of them; otherwise, we're effectively running a completely independent simulation), then to start the simulation using the updated fields?
What is a "cold-start"? Would you please explain it a little bit more?

I think I mean the second one. I want to update a subset of the prognostic fields (Most potential temperature, theta_m) and then restart the simulation using the updated fields.
For MPAS-Atmosphere, a "cold-start" simulation is one where the initial conditions have been interpolated from an external atmospheric dataset (e.g., ERA-Interim, CFSR, etc.). This page has what may be a more general description of the difference between "cold-start" and "warm-start" / restart simulations.

It seemed like we had answered your questions about modifying fields in MPAS-Atmosphere restart files in this forum post. Which questions beyond those did you have when it comes to updating a subset of prognostic fields in the restart files?
Yes, I have modified theta_m in the restart file. Later on, after restarting, I need to read new updated theta_m every time step, not only one step (initial step). As we know, when we simulate using WRF, WRF will read met_em* file every step, not only initial one. I want MPAS to read updated theta_m every time step.
In WRF, we produce met_em* files at several times, but in the common case, the first met_em file is used to produce the model initial conditions, and subsequent met_em files are only used to produce lateral boundary conditions. The full fields from met_em files are not used to update the model state in the interior of the model domain during the course of a WRF simulation.

As a matter of clarification, when you say "every time step", are you referring to the interval between, e.g., met_em files in WRF? I think most WRF and MPAS-Atmosphere users would take the term "time step" to refer to the Runge-Kutta time steps used in the model numerical integration of the equations of motion, which is not the same as, e.g., the interval between lateral boundary updates in WRF. For typical model grids/meshes used in WRF and MPAS-Atmosphere applications, the numerical integration timestep may be on the order of one minute (perhaps between 18 s and 720 s for 3-km meshes out to 120-km meshes).

Could you clarify when exactly you need to read the updated theta_m field in the context of the above? You can have the MPAS-Atmosphere model write restart files and stop as frequently as you would like. At each of these restart times, you could modify the theta_m and other fields, then restart the model with the updated theta_m to integrate for another time period. Alternatively, could you clarify whether you want to truly overwrite the model theta_m field, or to just add tendency (nudging) terms to the field during the numerical integration in the model?

I think it might help if I better understood your end goal with these experiments. Are you trying to implement some sort of cycled data-assimilation, or to estimate error growth rates in the model, or something else?
My ultimate goal is to use updated theta_m as the lateral boundary condition for every time interval (e.g., 1, or 3, or 6 hours). In that case, I would get better simulation results, since I update theta_m every time interval. One sentence in all: use updated theta_m every time interval to get better simulation results.

Yes, I can stop the model run and update theta_m, then restart model with updated theta_m. However, I need to stop and restart the model manually. Is it possible to make the whole process automatically? Otherwise, I need to write a script to make it run automatically.
Are you running limited-area MPAS-Atmosphere simulations? Lateral boundary conditions for potential temperature (theta) are already implemented for limited-area MPAS-Atmosphere. For global simulations, there are no lateral boundary conditions.
I am running for the global simulation. In this case, theta_m will not be lateral boundary condition or initial condition. I will treat it as updated theta_m. Now I know I need to write a script to make the whole process run automatically. Thank you