- 积分
- 632
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2019-2-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
matlab对全球CMIP6数据进行查看和读取
在使用GCMs或CMIP6数据进行计算和处理时,首先需要下载数据、查看数据信息和读取数据。本文简单介绍如何使用matlab对全球范围内的GCMs/CMIP数据进行下载、查看及读取。 1.对GCMs或CMIP6数据进行下载 途径1:从官网直接下载CMIP6官网
途径2:从其他网站间接下载
2.对数据进行查看和读取本文下载了一个例子,tas_Amon_ACCESS-CM2_historical_r1i1p1f1_gn_185001-201412.nc(历史1850-2014年逐月表面气温,气候模式是ACCESS-CM2)
第1步:查看文件概况ncinfo('tas_Amon_ACCESS-CM2_historical_r1i1p1f1_gn_185001-201412.nc')
matlab运行结果为:
第2步:查看文件详细信息ncdisp('tas_Amon_ACCESS-CM2_historical_r1i1p1f1_gn_185001-201412.nc')
matlab运行结果为: ncdisp('tas_Amon_ACCESS-CM2_historical_r1i1p1f1_gn_185001-201412.nc')
Source:
tas_Amon_ACCESS-CM2_historical_r1i1p1f1_gn_185001-201412.nc
Format:
netcdf4_classic
Global Attributes:
Conventions = 'CF-1.7 CMIP-6.2'
activity_id = 'CMIP'
branch_method = 'standard'
branch_time_in_child = 0
branch_time_in_parent = 0
creation_date = '2019-11-08T06:41:46Z'
data_specs_version = '01.00.30'
experiment = 'all-forcing simulation of the recent past'
experiment_id = 'historical'
external_variables = 'areacella'
forcing_index = 1
frequency = 'mon'
further_info_url = '***furtherinfo.es-doc.org/CMIP6.CSIRO-ARCCSS.ACCESS-CM2.historical.none.r1i1p1f1'
grid = 'native atmosphere N96 grid (144x192 latxlon)'
grid_label = 'gn'
history = '2019-11-08T06:41:46Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards.'
initialization_index = 1
institution = 'CSIRO (Commonwealth Scientific and Industrial Research Organisation, Aspendale, Victoria 3195, Australia), ARCCSS (Australian Research Council Centre of Excellence for Climate System Science)'
institution_id = 'CSIRO-ARCCSS'
mip_era = 'CMIP6'
nominal_resolution = '250 km'
notes = 'Exp: CM2-historical; Local ID: bj594; Variable: tas (['fld_s03i236'])'
parent_activity_id = 'CMIP'
parent_experiment_id = 'piControl'
parent_mip_era = 'CMIP6'
parent_source_id = 'ACCESS-CM2'
parent_time_units = 'days since 0950-01-01'
parent_variant_label = 'r1i1p1f1'
physics_index = 1
product = 'model-output'
realization_index = 1
realm = 'atmos'
run_variant = 'forcing: GHG, Oz, SA, Sl, Vl, BC, OC, (GHG = CO2, N2O, CH4, CFC11, CFC12, CFC113, HCFC22, HFC125, HFC134a)'
source = 'ACCESS-CM2 (2019):
aerosol: UKCA-GLOMAP-mode
atmos: MetUM-HadGEM3-GA7.1 (N96; 192 x 144 longitude/latitude; 85 levels; top level 85 km)
atmosChem: none
land: CABLE2.5
landIce: none
ocean: ACCESS-OM2 (GFDL-MOM5, tripolar primarily 1deg; 360 x 300 longitude/latitude; 50 levels; top grid cell 0-10 m)
ocnBgchem: none
seaIce: CICE5.1.2 (same grid as ocean)'
source_id = 'ACCESS-CM2'
source_type = 'AOGCM'
sub_experiment = 'none'
sub_experiment_id = 'none'
table_id = 'Amon'
table_info = 'Creation Date:(30 April 2019) MD5:e14f55f257cceafb2523e41244962371'
title = 'ACCESS-CM2 output prepared for CMIP6'
variable_id = 'tas'
variant_label = 'r1i1p1f1'
version = 'v20191108'
cmor_version = '3.4.0'
tracking_id = 'hdl:21.14100/d893128b-e107-4dcc-b543-46c77896f295'
license = 'CMIP6 model data produced by CSIRO is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License***. Consult*** for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file). The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law.'
Dimensions:
time = 1980 (UNLIMITED)
lat = 144
lon = 192
bnds = 2
Variables:
time
Size: 1980x1
Dimensions: time
Datatype: double
Attributes:
bounds = 'time_bnds'
units = 'days since 1850-01-01'
calendar = 'proleptic_gregorian'
axis = 'T'
long_name = 'time'
standard_name = 'time'
time_bnds
Size: 2x1980
Dimensions: bnds,time
Datatype: double
lat
Size: 144x1
Dimensions: lat
Datatype: double
Attributes:
bounds = 'lat_bnds'
units = 'degrees_north'
axis = 'Y'
long_name = 'Latitude'
standard_name = 'latitude'
lat_bnds
Size: 2x144
Dimensions: bnds,lat
Datatype: double
lon
Size: 192x1
Dimensions: lon
Datatype: double
Attributes:
bounds = 'lon_bnds'
units = 'degrees_east'
axis = 'X'
long_name = 'Longitude'
standard_name = 'longitude'
lon_bnds
Size: 2x192
Dimensions: bnds,lon
Datatype: double
height
Size: 1x1
Dimensions:
Datatype: double
Attributes:
units = 'm'
axis = 'Z'
positive = 'up'
long_name = 'height'
standard_name = 'height'
tas
Size: 192x144x1980
Dimensions: lon,lat,time
Datatype: single
Attributes:
standard_name = 'air_temperature'
long_name = 'Near-Surface Air Temperature'
comment = 'near-surface (usually, 2 meter) air temperature'
units = 'K'
cell_methods = 'area: time: mean'
cell_measures = 'area: areacella'
history = '2019-11-08T06:41:45Z altered by CMOR: Treated scalar dimension: 'height'. 2019-11-08T06:41:45Z altered by CMOR: replaced missing value flag (-1.07374e+09) with standard missing value (1e+20).'
coordinates = 'height'
missing_value = 1.000000020040877e+20
_FillValue = 1.000000020040877e+20
从结果显示得出,变量tas的范围(size)是三维的,为192*144*1980.
第3步:读取数据 dataname = 'out_tas_Amon_ACCESS-CM2_historical_r1i1p1f1_gn_198001-201412.nc';
lon = ncread(dataname, 'lon');
lat = ncread(dataname, 'lat');
ta = ncread(dataname, 'tas');
time = ncread(dataname, 'time');
missing_index = ncreadatt( dataname, 'tas', 'missing_value' ); %缺失值处理missing_value
ta( ta == missing_index ) = nan;
代码中加入了缺失值的处理,记为nan。
matlab运行结果为:
|
-
|