@BeginModule
@NewPage
@Name      = Select
@Title     = Select fields
@Section   = Selection
@Class     = Selection
@Arguments = ifiles ofile
@Operators = select delete

@BeginDescription
This module selects some fields from @file{ifiles} and writes them to @file{ofile}.
@file{ifiles} is an arbitrary number of input files. All input files need to have 
the same structure with the same variables on different timesteps.
The fields selected depends on the chosen parameters. Parameter is a comma
separated list of "key=value" pairs. Wildcards can be used for string parameter.
@EndDescription
@EndModule


@BeginOperator_select
@Title     = Select fields
@Parameter = params

@BeginDescription
Selects all fields with parameters in a user given list.
@EndDescription
@EndOperator


@BeginOperator_delete
@Title     = Delete fields
@Parameter = params

@BeginDescription
Deletes all fields with parameters in a user given list.
@EndDescription
@EndOperator


@BeginParameter
@Item = name
STRING  Comma separated list of variable names.
@Item = param
STRING  Comma separated list of parameter identifiers.
@Item = code
INTEGER Comma separated list of code numbers.
@Item = level
FLOAT   Comma separated list of vertical levels.
@Item = levidx
INTEGER Comma separated list of index of levels.
@Item = zaxisname
STRING  Comma separated list of zaxis names.
@Item = zaxisnum
INTEGER Comma separated list of zaxis numbers.
@Item = ltype
INTEGER Comma separated list of GRIB level types.
@Item = gridname
STRING  Comma separated list of grid names.
@Item = gridnum
INTEGER Comma separated list of grid numbers.
@Item = steptype
STRING  Comma separated list of timestep types.
@Item = date
STRING  Comma separated list of dates (format YYYY-MM-DDThh:mm:ss).
@Item = startdate
STRING  Start date (format YYYY-MM-DDThh:mm:ss).
@Item = enddate
STRING  End date (format YYYY-MM-DDThh:mm:ss).
@Item = minute
INTEGER Comma separated list of minutes.
@Item = hour
INTEGER Comma separated list of hours.
@Item = day
INTEGER Comma separated list of days.
@Item = month
INTEGER Comma separated list of months.
@Item = season
STRING  Comma separated list of seasons (substring of DJFMAMJJASOND or ANN).
@Item = year
INTEGER Comma separated list of years.
@Item = timestep
INTEGER Comma separated list of timesteps. Negative values selects timesteps from the end (NetCDF only).
@Item = timestep_of_year
INTEGER Comma separated list of timesteps of year.
@EndParameter


@BeginExample
Assume you have 3 inputfiles. Each inputfile contains the same variables for a different time period.
To select the variable T,U and V on the levels 200, 500 and 850 from all 3 input files, use:
@BeginVerbatim
   cdo select,name=T,U,V,level=200,500,850 ifile1 ifile2 ifile3 ofile
@EndVerbatim
@EndExample
