Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In general, users set the current variable (which by default is the first variable in the file) to one of those contained in the file and can then apply a number of functions and operators to them :

...

Code Block
languagebash
setcurrent(netcdf1, 6)

...

 # use the 6th variable in this netCDF file

...


setcurrent(netcdf1, 2) 

...

# use the 2nd variable in this netCDF file

...


netcdf3 = netcdf1 op netcdf2

...


out = function(netcdf1, ...)

...

However, because functions and operators work only on the current variable, when the netCDF contains more than one variable (a multi-variable netcdf), special care must be taken when you need the operator/function to apply to all variables - this is detailed later in this page.

...

Example 2 : To operate on two netcdf files, assigning the result to a third netcdf, you should create the output netcdf first by a simple copying of one of the input netcdfs :


Code Block
languagebash
# Derive cross sections of temperature forecast and analysis
# in two netcdf variables, tfc_xs and tan_xs....

(...)

# derive the list of netcdf variables
var_list = variables(tfc_xs)

# create output netcdf
diff_xs = tfc_xs

# loop over variables and create fc-an difference cross-section
for i = 1 to count(var_list) do
    setcurrent(tan_xs, i)
    setcurrent(tfc_xs, i)
    setcurrent(diff_xs, i)
    diff_xs = tfc_xs - tan_xs
end for 

Extracting NetCDF values

If you need to have access to the data values of a netcdf current variable, you can use function values() :

     val_list = values(netcdf)

which returns a vector with all the values for the current variable.You can then use the Vector functions to manipulate the data. This technique could even be used to create a new Geopoints variable with the netCDF data, or to insert the values into a GRIB field.

 

An alternative method for accessing individual values is to the use the function value() :

    val = value(netcdf, n)

which returns the nth value from the current netcdf variable.