Error using horzcat Dimensions of arrays being concatenated are not consistent.

1 view (last 30 days)
Dear all,
I want to read the variable “tref” for desired latitude and longitude (which I index them), 24th M, 4th L, and all S from a netcdf file but it was not successful. The error is:
Error using horzcat
Dimensions of arrays being concatenated are not consistent.
Here are the results of the ncdisp()
Source:
http://iridl.ldeo.columbia.edu/SOURCES/.Models/.NMME/.NCEP-CFSv2/.HINDCAST/.MONTHLY/tref/1+index/.tref/tref/tref/dods
Format:
classic
Global Attributes:
Conventions = 'IRIDL'
Dimensions:
L = 10
M = 24
S = 348
X = 360
Y = 181
Variables:
M
Size: 24x1
Dimensions: M
Datatype: single
Attributes:
standard_name = 'realization'
long_name = 'Ensemble Member'
pointwidth = 1
gridtype = 0
units = 'unitless'
X
Size: 360x1
Dimensions: X
Datatype: single
Attributes:
standard_name = 'longitude'
pointwidth = 1
gridtype = 1
units = 'degree_east'
L
Size: 10x1
Dimensions: L
Datatype: single
Attributes:
standard_name = 'forecast_period'
long_name = 'Lead'
pointwidth = 1
gridtype = 0
units = 'months'
S
Size: 348x1
Dimensions: S
Datatype: single
Attributes:
standard_name = 'forecast_reference_time'
long_name = 'Forecast Start Time'
pointwidth = 0
calendar = '360'
gridtype = 0
units = 'months since 1960-01-01'
Y
Size: 181x1
Dimensions: Y
Datatype: single
Attributes:
standard_name = 'latitude'
pointwidth = 1
gridtype = 0
units = 'degree_north'
tref
Size: 360x181x24x10x348
Dimensions: X,Y,M,L,S
Datatype: single
Attributes:
pointwidth = 0
standard_name = 'air_temperature'
PTVersion = 2
long_name = 'Reference Temperature'
process = 'Spectral Statistical Interpolation (SSI) analysis from "Final" run.'
PDS_TimeRange = 3
gribNumBits = 21
center = 'US Weather Service - National Met. Center'
grib_name = 'TMP'
gribcenter = 7
scale_min = 206.4713
gribparam = 11
scale_max = 315.4577
GRIBgridcode = 3
gribleveltype = 105
gribfield = 1
units = 'Kelvin_scale'
Can you help me with this issue, please?
Thank you.

Accepted Answer

Maik
Maik on 7 Nov 2022
That error can be overcome if you use transpose as vectors of different dimensions can be concatenated horizontally.
Here your ind_lat is 21x1 and ind_lon is 17x1
ind_lat = ones(21,1);
ind_lon = ones(17,1);
% Will give error
% horz_cat = [ind_lat ind_lon 24 4 inf]
% take transpose and do the concatenation
horz_cat = [ind_lat' ind_lon' 24 4 inf]
horz_cat = 1×41
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

More Answers (0)

Categories

Find more on Data Import and Analysis in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!