![](/img/trans.png)
[英]How plot methan maps from OCO-2/Tropomi NETCDF4 files using Xarray?
[英]How to process the Time variables of OCO-2/Tropomi NETCDF4 files using Xarray?
我正在处理 Tropomi.nc 文件。 当我使用 xarray 打开数据集时,它不会处理时间维度。 在 Tropomi 文件中,时间维度被命名为“sounding_dim”。 而不是解码时间,返回的 output 只是探测号码。
我也试过 OCO-2.nc 文件。 在 OCO-2 中,时间维度是“sounding_id”。 在 OCO-2 的情况下,时间返回为浮点数,而不是日期。 代码和 output 由:
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
返回的output为:
<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
我已经尝试了在 inte.net 上可以找到的所有解决方案。 如果有人帮助我解决问题,我将不胜感激。 我想提一下,我已经成功处理了 GEOS-CHEM.nc 文件,并且没有遇到任何类似的错误。
看起来你有一个np.datetime64
类型的time
变量。 您可以使用ds.swap_dims({"sounding_dim": "time"})
使time
成为坐标变量。 参见https://xarray.pydata.org/en/stable/generated/xarray.Dataset.swap_dims.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.