DART
DART copied to clipboard
MPAS 8 vs 7
Collection of MPAS 8 vs MPAS 7 differences.
User reported problems with MPAS 8 and DART:
-
MPAS reconstructed wind no longer output by mpas Change made to MPAS which has removed uReconstruct{Zonal,Meridional}' fields from atmosphere restart stream.
https://github.com/MPAS-Dev/MPAS-Model/pull/1016
Required (at least with the current DART mpas model_mod) for assimilating wind. The model_mod is assuming uReconstruct{Zonal,Meridional} are present in the restart file.
Note from Chris R. on mpas start up calculation of reconstructed u,v
Looks like the computation is done in this code: https://github.com/MPAS-Dev/MPAS-Model/blob/master/src/operators/mpas_vector_reconstruction.F mpas_vector_reconstruction.F
Note from Soyoung to add fields back into files First, you should do 'make clean' with core=init_atmosphere_model, then with atmosphere_model in your MPAS model directory. Then, for init_atmosphere_model, Add these two lines right below https://github.com/MPAS-Dev/MPAS-Model/blob/hotfix-v8.0.1/src/core_init_atmosphere/Registry.xml#L548.
<var name="uReconstructZonal" packages="met_stage_out"/>
<var name="uReconstructMeridional" packages="met_stage_out"/>
Then, recompile your init_atmosphere_model.
Next, for core=atmosphere_model, add these two lines right below https://github.com/MPAS-Dev/MPAS-Model/blob/hotfix-v8.0.1/src/core_atmosphere/Registry.xml#L634.
<var name="uReconstructZonal"/>
<var name="uReconstructMeridional"/>
With that, recompile your atmosphere_model.
In fact, we already have the MPAS codes in DART/models/mpas_atm/get_reconstruct_mod.f90, which are called from the compute_u_with_rbf module in model_mod.f90 when use_u_for_wind = .true. So, technically, we can reconstruct uReconstructZonal and uReconstructMeridional from the edge wind 'u' in the current mpas_atm/model_mod. But there are several other parameters and the following I/O structures we may want to update as well (because of the updates on the model side). For instance, the model no longer supports or saves lbc_ur and lbc_vr in the lateral boundary conditions. So we need to remove everything related to them. In brief, the current mpas-atm in DART needs major upgrades, especially for regional applications.
Thanks for the info @syha
Do you know which version of DART & version of MPAS NSSL is using/used? Also which version of MPAS JEDI is using (I think it is a modified version of 7.0)? It would be good to get the big picture on data assimilation with MPAS.
No problem. NSSL uses their own version of the MPAS model based on V8.0 for their own physics suite + new I/O stream. Their DART is basically the version I had tried to push into this repository but was not allowed to, plus some bug fixes and updates for the compatibility with the regional model. So the current mpas-atm in DART is quite outdated and needs comprehensive updates to work with the recent version of the model. If you guys can work with me, I guess we can get all the updates and tests done in a month or so, but I don't have time to do it alone. The MPAS-JEDI uses its own MPAS version customized for the JEDI system. It's a bit too much to write all of them down here, I'd better explain to you in a meeting.
may split this off into a separate scripting issue:
driver_mpas_dart.csh refering to out-of-date namelist option start_from_restart
https://github.com/NCAR/DART/blob/4b184025498952753ac4141f36a3a7d3505cbdcb/models/mpas_atm/shell_scripts/driver_mpas_dart.csh#L374-L375
Zero documentation on docs.dart.ucar.edu for the scripting.
todo:
- list of mpas 7 vs mpas 8 differences. Is the science different enough to be a different model_mod?
- mpas available meshes: https://mpas-dev.github.io/atmosphere/atmosphere_meshes.html
- 16 quasi uniform global meshes
- 8 variable
- remove progvar structure (if 8 is a new model_mod, probably leave current model_mod as 7) #389
- possible: use mpas techniques for locating which cell a point is in and the get_close range search
- advantage of not needed to use 2 location mods
- possible advantage and per-core storage for the get_close_xyz, get_close_lon_lat depending on how much mesh info we store.
- unknown runtime mpas search vs. get close.
Spec: mpas
After Thursday 18th 2024 meeting with Soyoung Ha: regional mpas changes are on Soyoung's branch mpas_readme_updates note be aware the commit https://github.com/NCAR/DART/commit/7279724ca0a161ed972e5fd4696a769d8c1a2f78 has a mixture of updates from main, so don't use this directly.