DART icon indicating copy to clipboard operation
DART copied to clipboard

MPAS 8 vs 7

Open hkershaw-brown opened this issue 10 months ago • 7 comments

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.

hkershaw-brown avatar Apr 18 '24 18:04 hkershaw-brown

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

hkershaw-brown avatar Apr 18 '24 20:04 hkershaw-brown

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.

hkershaw-brown avatar Apr 18 '24 20:04 hkershaw-brown

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.

syha avatar Apr 18 '24 22:04 syha

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.

hkershaw-brown avatar Apr 19 '24 14:04 hkershaw-brown

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.

syha avatar Apr 19 '24 15:04 syha

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.

hkershaw-brown avatar May 06 '24 17:05 hkershaw-brown

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.

hkershaw-brown avatar May 07 '24 18:05 hkershaw-brown