Я работаю над файлами 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: [email protected]
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 и не сталкивался с подобными ошибками.