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

From old vertical levels (WRF 3.6) to hybrid vertical levels (WRF 4.1.4)

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.


New member
Hi all.

I would like to convert a list of vertical levels that I had set for an old version of WRF (WRF 3.6) to the new hybrid vertical coordinates in WRF 4.1.4. Please note that the vertical levels I had been using in WRF 3.6 were ones I defined, not those automatically generated. (For instance, I put more vertical levels in the lower layers of the atmosphere).

Perhaps, (if this is a more accessible option than the previous one), other approach could be to specify a list of vertical levels in terms of the pressure and obtain the correspondent vertical hybrid coordinate.

Thank you very much,
The eta locations in the terrain following (TF) vertical coordinate are defined by a normalized reference pressure, with an identically isobaric surface at the model lid. The eta locations for the hybrid vertical (HV) coordinate are defined to adjust towards an isobaric surface at an identified eta value (etac in the namelist).

The term "convert" is not entirely possible, you cannot cleanly take TF data and make it into HV data. You could do vertical interpolation at each (i,j), but that is likely to introduce yet more noise in your initialization step and along the boundaries. Also, any effort to make old data work with later versions of the real program and WRF model is really going off on your own, and there is no support available for your changes that would be required in the metadata, additional HV fields, and boundary files.

A better idea would be as you suggest - just use the same eta levels from your previous TF simulations and rerun the new version of the real program. You can easily use the existing monotonic list of eta values from the v3.6 code and put those levels in the namelist for the v4 (and after) WRF-system pre-processor (real) and the model (WRF). In the &domains namelist record, just include your selected eta values when you re-run the real program (here is an example of the syntax; of course, fill in your own levels):
 eta_levels                          = 1.000, 0.990, 0.978, 0.964, 0.946,
                                       0.922, 0.894, 0.860, 0.817, 0.766,
                                       0.707, 0.644, 0.576, 0.507, 0.444,
                                       0.380, 0.324, 0.273, 0.228, 0.188,
                                       0.152, 0.121, 0.093, 0.069, 0.048,
                                       0.029, 0.014, 0.000,

The original metgrid data from v3.6 probably would work for the v4 and later real program (which would then feed the new HV coordinate into the WRF model). Note that the newer (for example, v4.2) metgrid output would have different default static field values compared to your original v3.6 metgrid files, so any sort of sensitivity testing for the HV vs TF results would have additional confounding factors.