.. highlightlang:: us .. _nc_varid: nc_varid ======== .. index:: nc_varid .. us.tag nc_varid GERMAN NC_Var Changed5145 :ref:`nc_varid` erfragt die Identifikations-Nummer einer netCDF-Variablen, wobei der Variablen-Name vorgegeben wird. .. function:: varid = nc_varid(ncid, ssName) .. us.return **Returnwert** *varid* ist die Identifikations-Nummer der Variablen *ssName*. Im Fehlerfall hat *varid* den Wert -1. .. us.params **Parameter** .. uparam:: ncid *ncid* ist die Zugriffsnummer, die von einem erfolgreichen Aufruf der Funktionen :ref:`nc_create` oder :ref:`nc_open` geliefert wurde. .. uparam:: ssName *ssName* ist der Name der netCDF-Variablen. .. us.comment **Kommentar** Ab UniPlot 5.14.5 dürfen die Kanalnamen die folgenden Sonderzeichen enthalten: ``.``, ``-``, ``+``, ``$``, ``#``, ``~``, ``!``, ``^``, ``&``, ``%``. Damit der Formelinterpreter weiterhin wie gewohnt benutzt werden kann und keine Probleme beim Datenaustausch oder in Automatisierungen entstehen, kann der Kanalname alternativ auch mit Unterstrichen anstatt Sonderzeichen an die Funktion übergeben werden. Beispiel: Die NC-Datei enthält einen Kanal ``AI50%+m``. Die folgenden beiden Aufrufe liefern die selbe *varid*:: varid = nc_varid(ncid, "AI50%+m"); varid = nc_varid(ncid, "AI50__m"); Wenn die NC-Datei jedoch Kanalnamen enthält, die sich nur durch Sonderzeichen unterscheiden, liefert der Aufruf mit Unterstrichen unter Umständen verschiedene varids zurück. Der Grund dafür ist, dass die Funktion die Suche beim ersten passenden Kanalnamen beendet. Beispiel: Eine NC-Datei enthält die Kanalnamen ``AI50%+m`` (varid 0), ``AI50%-m`` (varid 1): Der folgende Aufruf liefert die *varid* = 1:: varid = nc_varid(ncid, "AI50%-m"); Beim Aufruf mit zwei Unterstrichen liefert die Funktion die *varid* der Variablen ``AI50%+m``, also die *varid* = 0:: varid = nc_varid(ncid, "AI50__m"); Um Probleme mit dem Formelinterpreter zu vermeiden, sollten sich alle Kanalname unterscheiden, auch wenn die Sonderzeichen durch Unterstriche ersetzt würden. Falls die NC-Datei mit UniPlot erzeugt worden ist, werden die Variablen die sich nur durch die Sonderzeichen unterscheiden durchnummeriert. Dabei bleibt der erste Kanal unverändert. Alle folgenden Kanäle, die sich nur durch die Sonderzeichen unterscheiden werden beginnend bei 0 durchnummeriert. .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Beschreibung * - 5.14.5 - Behandlung von Sonderzeichen im Kanalnamen geändert. .. seealso:: :ref:`uberblick-netcdf-dateien`, :ref:`nc_create` :sub:`id-576645`