html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/issues/479#issuecomment-122484583,https://api.github.com/repos/pydata/xarray/issues/479,122484583,MDEyOklzc3VlQ29tbWVudDEyMjQ4NDU4Mw==,1217238,2015-07-18T05:15:40Z,2015-07-18T05:15:40Z,MEMBER,"I thought we were writing variables in order of appearance in datasets, but it looks like we weren't doing that. #480 should fix that issue, at least when using netCDF4-python (the default backend). Once that patch is merged, you can reorder variables in datasets by indexing with a list of variable names, e.g., ``` In [6]: ds = xray.Dataset(OrderedDict([('x', 10), ('a', -1), ('z', np.nan)]), {'c': 0}) In [7]: ds Out[7]: Dimensions: () Coordinates: c int64 0 Data variables: x int64 10 a int64 -1 z float64 nan In [9]: ds.to_netcdf('tmp.nc') In [10]: ! ncdump -h tmp.nc netcdf tmp { variables: int64 x ; int64 a ; double z ; int64 c ; // global attributes: :coordinates = ""c"" ; } In [11]: ds[['z', 'c', 'x', 'a']].to_netcdf('tmp.nc') In [12]: ! ncdump -h tmp.nc netcdf tmp { variables: double z ; int64 c ; int64 x ; int64 a ; // global attributes: :coordinates = ""c"" ; } ``` ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,95788263