3.13 C and Fortran Index conventions
Availability: ncbo, ncea, ncecat,
ncflint, ncks, ncpdq, ncra,
ncrcat, ncwa
Short options: ‘-F’
Long options: ‘--fortran’
|
The ‘-F’ switch changes NCO to read and write with
the Fortran index convention.
By default, NCO uses C-style (0-based) indices for all I/O.
In C, indices count from 0 (rather than 1), and
dimensions are ordered from slowest (inner-most) to fastest
(outer-most) varying.
In Fortran, indices count from 1 (rather than 0), and
dimensions are ordered from fastest (inner-most) to slowest
(outer-most) varying.
Hence C and Fortran data storage conventions represent mathematical
transposes of eachother.
Note that record variables contain the record dimension as the most
slowly varying dimension.
See ncpdq netCDF Permute Dimensions Quickly for techniques
to re-order (including transpose) dimensions and to reverse data
storage order.
Consider a file 85.nc containing 12 months of data in the
record dimension time
.
The following hyperslab operations produce identical results, a
June-July-August average of the data:
ncra -d time,5,7 85.nc 85_JJA.nc
ncra -F -d time,6,8 85.nc 85_JJA.nc
Printing variable three_dmn_var in file in.nc first with
the C indexing convention, then with Fortran indexing convention
results in the following output formats:
% ncks -v three_dmn_var in.nc
lat[0]=-90 lev[0]=1000 lon[0]=-180 three_dmn_var[0]=0
...
% ncks -F -v three_dmn_var in.nc
lon(1)=0 lev(1)=100 lat(1)=-90 three_dmn_var(1)=0
...