<< Prise en main sciNetCDF ncwrite >>

sciNetCDF >> sciNetCDF > nccreate

nccreate

Crée une variable dans un fichier NetCDF.

Séquence d'appel

nccreate(filename, varname, [[name, value]...])

Paramètres

filename

Chemin d'accès complet vers un fichier NetCDF (string).

varname

Nom de la variable (string).

[name, value]

Un ou plusieurs arguments optionnels sous la forme de paires [clé, valeur] :

  • type de la variable: clé 'Datatype', les valeurs possibles sont 'double', 'float', 'int32', 'uint32', 'int16', 'uint16', 'int8', 'uint8', 'char'.

  • dimensions de la variable: clé 'Dimensions', la valeur est une list contenant les noms et les tailles pour chaque dimension comme suit: list(<dim1_name>, <dim1_size>,...,<dimN_name>, <dimN_size>).

  • valeur de remplacement (la valeur utilisée en cas de donnée manquante): clé 'FillValue', la valeur est une constante (double, integer, ou un char), ou 'disable' pour désactiver le mécanisme de remplacement de donnée manquante.

  • Description

    nccreate crée une variable nommée varname dans le fichier filename.

    L'emplacement de la variable dans le fichier (i.e. le chemin du groupe qui contient la variable) peut être spécifié dans varname en utilisant la forme /grp/subgrp/.../varname. Les groupes qui n'existent pas seront créés.

    La variable peut être un scalaire, une matrice ou une hypermatrice de type nombre flottant, entier ou texte. Par défaut la variable est un scalaire de type double.

    Des arguments optionnels sous la forme d'une suite de paires [clé, valeur] permettent de définir précisément la variable, notamment son type et ses dimensions.

    Le type de la variable est spécifié dans une chaîne de caractères après la clé 'Datatype' :

    Les dimensions de la variable sont spécifiées dans une list Scilab après la clé 'Dimensions'. Cette liste comprend pour chaque dimension son nom, et dans l'élément qui suit dans la liste, la taille (le nombre d'éléments maximum) pour cette dimension. L'ordre des dimensions donné est celui utilisé dans Scilab, i.e. dans l'ordre de l'index qui varie le plus vite en mémoire, en commencant par le nombre de lignes. Par exemple, pour créer une hypermatrice avec hypermat, on spécifie d'abord le nombre de lignes, puis le nombre de colonnes, enfin le nombre de matrices. Les variables peuvent avoir une taille illimitée, en spécifiant une dimension de taille infinie (%inf). Cette dimension doit correspondre à l'index qui varie le moins vite en mémoire.

    Note: si le fichier NetCDF n'existe pas il est créé (dans le format NetCDF4 étendu), sinon il est repris en écriture (pas d'écrasement).

    Exemples

    filename = fullfile(TMPDIR, 'nccreate.nc');
    
    // Crée un double 'x'
    nccreate(filename, 'x');
    
    // Crée une variable 'n' (int8 scalar)
    nccreate(filename, 'n', 'Datatype', 'int8');
    
    // Crée une chaîne 'str' dans le groupe 'group'
    nccreate(filename, '/group/str', 'Datatype', 'char', 'Dimensions', list('len', %inf));
    
    // Crée un vecteur illimité d'entiers 'unltd_vec'
    nccreate(filename, 'unltd_vec', 'Datatype', 'int32', 'Dimensions', list('idim', %inf));
    
    // Crée une matrice de double 'mat' avec 4 lignes et 3 colonnes
    nccreate(filename, 'mat', 'Dimensions', list('r', 4, 'c', 3));
    
    // Crée une hypermatrice 'hypermat' composée de 2 matrices, chacune avec 4 lignes et 3 colonnes
    nccreate(filename, 'hypermat', 'Dimensions', list('m', 2, 'r', 4, 'c', 3));
    
    // Crée une hypermatrice illimitée 'unltd_hypmat', chaque matrice comprend 4 lignes et 3 colonnes
    nccreate(filename, 'unltd_hypermat', 'Dimensions', list('dim', %inf, 'r', 4, 'c', 3));
    
    ncdisp(filename);

    Voir aussi


    Report an issue
    << Prise en main sciNetCDF ncwrite >>