How to create a a scalar NetCDF variable (i.e with no dimensions)?
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Jonathan Blythe
le 9 Déc 2011
Commenté : Mary Jo Brodzik
le 16 Juin 2023
I need to define a NetCDF variable with a dimension of size zero. The NetCDF function, netcdf.defVar requires a dimid, but it is not possible to define a dimension of length zero, since assigning zero in netcdf.defDim produces an unlimited dimension. Does matlab have any native functions to support zero length variables?
0 commentaires
Réponse acceptée
Ashish Uthama
le 9 Déc 2011
Could you tell us why would you need a dimension of size zero?
Are you trying to create a scalar variable? If so, try [] for the dimid in the call to netcdf.defVar. (You could also try the newer nccreate if you have it.)
0 commentaires
Plus de réponses (1)
Jonathan Blythe
le 12 Déc 2011
1 commentaire
Mary Jo Brodzik
le 16 Juin 2023
I needed to do this same task and it took me a long time to come across this answer. One additional note for others who may also be puzzled: for the CF grid_mapping variable, you only need to define the variable and then add the projection attributes, no need to use 'putVar' to populate it with anything degenerate, e.g.:
varid = netcdf.defVar(ncid, 'crs', 'NC_INT', []);
netcdf.endDef(ncid);
netcdf.putAtt(ncid, varid, 'grid_mapping_name', 'sinusoidal');
% ...then use putAtt for the rest of the 'crs' attributes
Voir également
Catégories
En savoir plus sur NetCDF dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!