如何解决如何使用Xarray处理OCO-2 / Tropomi NETCDF4文件的时间变量?
我正在处理Tropomi .nc文件。当我使用xarray打开数据集时,它不处理时间维度。在Tropomi文件中,时间维度称为“ sounding_dim”。返回的输出不是探测时间,而是输出探测值。
我也尝试过OCO-2 .nc文件。在OCO-2中,时间维度为“ sounding_id”。对于OCO-2,时间以浮点数而不是日期的形式返回。代码和输出如下:
import numpy as np
import xarray as xr
from datetime import datetime as dt
import pandas as pd
tropomi = xr.open_dataset('/Users/farhanmustafa/Documents/analysis/tropomi/ESACCI-GHG-L2-CH4-CO-TROPOMI-WFMD-20190102-fv1.nc',engine = 'netcdf4')
tropomi
返回的输出是:
<xarray.Dataset>
Dimensions: (corners_dim: 4,layer_dim: 20,level_dim: 21,sounding_dim: 374749)
Dimensions without coordinates: corners_dim,layer_dim,level_dim,sounding_dim
Data variables:
time (sounding_dim) datetime64[ns] ...
latitude (sounding_dim) float32 ...
longitude (sounding_dim) float32 ...
solar_zenith_angle (sounding_dim) float32 ...
sensor_zenith_angle (sounding_dim) float32 ...
azimuth_difference (sounding_dim) float32 ...
xch4 (sounding_dim) float32 ...
xch4_uncertainty (sounding_dim) float32 ...
xco (sounding_dim) float32 ...
xco_uncertainty (sounding_dim) float32 ...
quality_flag (sounding_dim) int32 ...
pressure_levels (sounding_dim,level_dim) float32 ...
pressure_weight (sounding_dim,layer_dim) float32 ...
ch4_profile_apriori (sounding_dim,layer_dim) float32 ...
xch4_averaging_kernel (sounding_dim,layer_dim) float32 ...
co_profile_apriori (sounding_dim,layer_dim) float32 ...
xco_averaging_kernel (sounding_dim,layer_dim) float32 ...
orbit_number (sounding_dim) int32 ...
scanline (sounding_dim) int32 ...
ground_pixel (sounding_dim) int32 ...
latitude_corners (sounding_dim,corners_dim) float32 ...
longitude_corners (sounding_dim,corners_dim) float32 ...
altitude (sounding_dim) float32 ...
apparent_albedo (sounding_dim) float32 ...
land_fraction (sounding_dim) int32 ...
cloud_parameter (sounding_dim) float32 ...
h2o_column (sounding_dim) float32 ...
h2o_column_uncertainty (sounding_dim) float32 ...
Attributes:
title: TROPOMI/WFMD XCH4 and XCO
institution: University of Bremen
source: TROPOMI L1B version 01.00.00
history: 2019 - product generated with WFMD
tracking_id: 41f8bb71-4f43-4927-843a-4f02ed013f3b
Conventions: CF-1.6
product_version: v1.2
summary: weighting Function Modified DOAS (WFMD) was ad...
keywords: satellite,Sentinel-5 Precursor,TROPOMI,atmo...
id: ESACCI-GHG-L2-CH4-CO-TROPOMI-WFMD-20190102-fv1.nc
naming_authority: iup.uni-bremen.de
keywords_vocabulary: NASA Global Change Master Directory (GCMD)
cdm_data_type: point
comment: These data were produced at the University of ...
date_created: 20200322T232210Z
creator_name: University of Bremen,IUP,Oliver Schneising
creator_email: schneising@iup.physik.uni-bremen.de
project: climate Change Initiative - European Space Agency
geospatial_lat_min: -90
geospatial_lat_max: 90
geospatial_lat_units: degree_north
geospatial_lon_min: -180
geospatial_lon_max: 180
geospatial_lon_units: degree_east
geospatial_vertical_min: 0
geospatial_vertical_max: 100000
time_coverage_start: 20190102T000000Z
time_coverage_end: 20190102T235959Z
time_coverage_duration: P1D
time_coverage_resolution: P1D
standard_name_vocabulary: NetCDF climate and Forecast (CF) Metadata Conv...
license: ESA CCI Data Policy: free and open access
platform: Sentinel-5 Precursor
sensor: TROPOMI
spatial_resolution: 7km x 7km at nadir (typically)
当我尝试检索时间维度时:
tropomi.sounding_dim
<xarray.DataArray 'sounding_dim' (sounding_dim: 374749)>
array([ 0,1,2,...,374746,374747,374748])
Dimensions without coordinates: sounding_dim
tropomi['sounding_dim'] = dt.strptime(tropomi["sounding_dim"],"%Y%m%d%H%M%s")
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-18-a749e221323c> in <module>
----> 1 tropomi['sounding_dim'] = dt.strptime(tropomi["sounding_dim"],"%Y%m%d%H%M%s")
TypeError: strptime() argument 1 must be str,not DataArray
我尝试了所有可以在互联网上找到的解决方案。如果有人帮助我进行整理,我将不胜感激。我想提到的是,我已经成功处理了GEOS-CHEM .nc文件,并且没有遇到任何此类错误。
解决方法
您似乎拥有一个time
类型的np.datetime64
变量。您可以使用ds.swap_dims({"sounding_dim": "time"})
来使time
成为坐标变量。参见https://xarray.pydata.org/en/stable/generated/xarray.Dataset.swap_dims.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。