This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Hello, and thanks for reaching out! This particular example is out of date with MetPy's progress on xarray integration. Those particular lines can be fixed by using the `.metpy` "accessor" to get to similar helpful methods specifically for xarray Datasets and DataArrays, for example ... tmpk_700s = mpcalc.smooth_n_point(tmpk_700, 9, n_reps) # note that tmpk_700s is an xarray DataArray tmpk_700s.metpy.convert_units('degC') ... Check out the xarray tutorial and reference guides in our documentation for more syntax help here https://unidata.github.io/MetPy/latest/tutorials/xarray_tutorial.html https://unidata.github.io/MetPy/latest/api/generated/metpy.xarray.html Similarly, some of our functions on display in this example have out-of-date signatures now, particularly kinematic calculations like vorticity and advection. If you're working with well-described xarray data (has appropriate metadata and projection information; most of the data from Siphon will try to meet this criteria), these calculations look much simpler now: ... vortadv_900 = mpcalc.advection(avor_900, uwnd_900s, vwnd_900s).metpy.convert_to_base_units() # note the simpler inputs to the function (scalar, u, v) # and the similar change to use our `.metpy` accessor. ... Please double-check the inputs to these functions with the python `help(mpcalc.advection)` function or in our documentation: https://unidata.github.io/MetPy/latest/api/generated/metpy.calc.advection.html These examples in our gallery will be fixed later this Spring. In the mean time, if you run into strange errors be sure to double-check our documentation! I hope this helps, and don't hesitate to follow up if I can help any further. All the best, Drew > I have managed to > integrate MetPy into my class this semester, thanks to all of you I would > really like to implement the QG Omega Analysis (below) into my class, but I > am running into two main issues. > > https://unidata.github.io/python-training/workshop/MetPy_Advanced/qg-analysis/ > > *Issue #1: MetPy does not seem to like the following unit conversion in > the code* > > tmpk_700s = mpcalc.smooth_n_point(tmpk_700, 9, > n_reps)#.metpy.unit_arraytmpc_700s = tmpk_700s.to('degC') <<====== > > AttributeError: 'DataArray' object has no attribute 'to' > > > *Issue #2: MetPy does not seem to like the following unit conversion* > > vortadv_900 = mpcalc.advection(avor_900, (uwnd_900s, vwnd_900s), (dx, > dy)).to_base_units() > > ValueError: setting an array element with a sequence. The requested > array has an inhomogeneous shape after 1 dimensions. The detected > shape was (2,) + inhomogeneous part. > > > I tried looking through the various Unidate/GitHub search engines, but > did not find any comments or questions about these issues. > Ticket Details =================== Ticket ID: WVN-314336 Department: Support Python Priority: Low Status: Closed =================== NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.