Closed winash12 closed 7 years ago
You get this error when you input arrays of the wrong shape. I notice most of the code is copied from one of the windspharm examples, but it is possible you do not need all the steps used in the example.
You said shape of uwnd
and vwnd
is (1, 181, 360)
, but you didn't say if that was before or after you used prep_data
. Please print the shape of uwnd
and vwnd
immediately after they are loaded and let me know what the results is:
...
uwnd = nc_fid1.variables['u-component_of_wind_isobaric'][:]
vwnd = nc_fid2.variables['v-component_of_wind_isobaric'][:]
print(uwnd.shape)
print(vwnd.shape)
...
The shape after they are loaded is (1,1,181,360).
This is just my very first windspharm example. So once I get a working example I will be able to modify it to my purposes and as you say most of the other stuff can be eliminated.
In this case you do need to use prep_data
but you need to change the inputs. prep_data
wants to know the order of dimensions in your array, you have told it "tyx"
which represents time-latitude-longitude, but the array you pass in has 4 dimensions, probably time-pressure-latitude-longitude. You should use "tpyx"
instead:
uwnd, uwnd_info = prep_data(uwnd, 'tpyx')
vwnd, vwnd_info = prep_data(vwnd, 'tpyx')
@ajdawson I just wanted to point that I think the CF conventions recommend "z" for pressure axes rather than "p", you might want to add it as a valid option to be consistent.
Is there any reason why I cannot reshape sf and vp ?
I tried this
sf[:].squeeze()
and sf.reshape(181,360)
and when I try to print the shape of sf it is (181,360,1).
@ajdawson I just wanted to point that I think the CF conventions recommend "z" for pressure axes rather than "p", you might want to add it as a valid option to be consistent.
@doutriaux1 - please take a look at the documentation for prep_data, all characters except x
and y
are arbitrary.
@winash12 - reshape
is not an in-place operation, you need to store the result like:
sf = sf.reshape(...)
If you want to put it back to the original shape of u and v though, that is what the windspharm.tools.recover_data function is for.
@ajdawson - Thank you for pointing that oversight of mine and I can see two beautiful plots ! Your cooperation is most appreciated. Hopefully I can 'grow' to contribute to your codebase. Thanks again !
I am getting this error when I use the latest version of windspharm -
This is the shape of u wind and v wind - (1, 181, 360) (1, 181, 360)
and this is my source code - sorry I am a newbie just starting off today