Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mpim-sw
cdo
Commits
d53df0d8
Commit
d53df0d8
authored
Nov 21, 2014
by
Uwe Schulzweida
Browse files
Docu update
parent
404bbda9
Changes
13
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
d53df0d8
2015-02-19 Uwe Schulzweida
* using CDI library version 1.7.0
* Version 1.7.0 released
2014-11-22 Uwe Schulzweida
2014-11-27 Uwe Schulzweida
* using CDI library version 1.6.6
* Version 1.6.6 released
2014-11-21 Uwe Schulzweida
* outputtab: added key nohead and docu
2014-11-20 Uwe Schulzweida
* outputtab: added key timestep
...
...
NEWS
View file @
d53df0d8
CDO NEWS
--------
Version 1.
7.0 (19 February
201
5
):
Version 1.
6.6 (27 November
201
4
):
New operators:
* outputtab: table output
Fixed bugs:
* histcount: doesn't recognize missing values
* filesdes: doesn't work for GRIB2 files [Bug #5307]
...
...
OPERATORS
View file @
d53df0d8
...
...
@@ -473,6 +473,7 @@ Operator catalog:
Output outputint Integer output
Output outputsrv SERVICE ASCII output
Output outputext EXTRA ASCII output
Outputtab outputtab Table output
-------------------------------------------------------------
Miscellaneous
-------------------------------------------------------------
...
...
doc/cdo_refcard.pdf
View file @
d53df0d8
No preview for this file type
doc/tex/Modules
View file @
d53df0d8
...
...
@@ -107,6 +107,7 @@ Importcmsaf Import/Export
Importamsr Import/Export
Input Import/Export
Output Import/Export
Outputtab Import/Export
Gradsdes Miscellaneous
Filter Miscellaneous
Gridcell Miscellaneous
...
...
doc/tex/cdo.tex
View file @
d53df0d8
...
...
@@ -178,7 +178,7 @@
\end{picture}
\begin{flushright}
\large\bf
{
Climate Data Operators
\\
Version 1.6.
5
\\
Octo
ber 2014
}
\large\bf
{
Climate Data Operators
\\
Version 1.6.
6
\\
Novem
ber 2014
}
\end{flushright}
\vfill
...
...
doc/tex/cdoprog.tex
View file @
d53df0d8
...
...
@@ -14,7 +14,7 @@
\put
(0,0.0)
{
\line
(1,0)
{
3.95
}}
\end{picture}
\begin{flushright}
{
\small
{
Climate Data Operators
\\
Version 1.6.
5
\\
Octo
ber 2014
}}
{
\small
{
Climate Data Operators
\\
Version 1.6.
6
\\
Novem
ber 2014
}}
\end{flushright}
\vspace*
{
0mm
}
...
...
doc/tex/mod/Collgrid
View file @
d53df0d8
...
...
@@ -29,7 +29,7 @@ STRING Comma separated list of variable names [default: all variables]
@BeginNote
This operator needs to open all input files simultaneously.
The maximum number of open files depen
t
s on the operating system!
The maximum number of open files depen
d
s on the operating system!
@EndNote
...
...
doc/tex/mod/Scatter
View file @
d53df0d8
...
...
@@ -32,7 +32,7 @@ INTEGER Number of regions in y direction [default: 1]
@BeginNote
This operator needs to open all output files simultaneously.
The maximum number of open files depen
t
s on the operating system!
The maximum number of open files depen
d
s on the operating system!
@EndNote
...
...
doc/tex/mod/Select
View file @
d53df0d8
...
...
@@ -69,7 +69,7 @@ INTEGER Comma separated list of timesteps of year.
@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:
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
...
...
src/Output.c
View file @
d53df0d8
...
...
@@ -23,7 +23,7 @@
Output outputint Integer output
Output outputsrv SERVICE output
Output outputext EXTRA output
Output outputtab
le
Table output
Output outputtab
Table output
*/
#include
<ctype.h>
...
...
@@ -57,6 +57,7 @@ void *Output(void *argument)
int
len
;
int
index
;
int
ndiffgrids
;
int
lhead
=
TRUE
;
const
char
*
format
=
NULL
;
char
paramstr
[
32
];
char
vdatestr
[
32
],
vtimestr
[
32
];
...
...
@@ -72,9 +73,9 @@ void *Output(void *argument)
char
**
parnames
=
NULL
;
int
*
keys
=
NULL
,
nkeys
=
0
,
k
;
int
nKeys
;
int
Keylen
[]
=
{
8
,
11
,
4
,
8
,
6
,
6
,
6
,
4
,
4
,
6
,
10
,
8
,
5
,
2
,
2
};
enum
{
kvalue
,
kparam
,
kcode
,
kname
,
klon
,
klat
,
klev
,
kxind
,
kyind
,
ktimestep
,
kdate
,
ktime
,
kyear
,
kmonth
,
kday
};
const
char
*
Keynames
[]
=
{
"value"
,
"param"
,
"code"
,
"name"
,
"lon"
,
"lat"
,
"lev"
,
"xind"
,
"yind"
,
"timestep"
,
"date"
,
"time"
,
"year"
,
"month"
,
"day"
};
int
Keylen
[]
=
{
0
,
8
,
11
,
4
,
8
,
6
,
6
,
6
,
4
,
4
,
6
,
10
,
8
,
5
,
2
,
2
};
enum
{
knohead
,
kvalue
,
kparam
,
kcode
,
kname
,
klon
,
klat
,
klev
,
kxind
,
kyind
,
ktimestep
,
kdate
,
ktime
,
kyear
,
kmonth
,
kday
};
const
char
*
Keynames
[]
=
{
"nohead"
,
"value"
,
"param"
,
"code"
,
"name"
,
"lon"
,
"lat"
,
"lev"
,
"xind"
,
"yind"
,
"timestep"
,
"date"
,
"time"
,
"year"
,
"month"
,
"day"
};
cdoInitialize
(
argument
);
...
...
@@ -126,8 +127,12 @@ void *Output(void *argument)
if
(
len
<
3
)
len
=
3
;
if
(
strncmp
(
parnames
[
i
],
Keynames
[
k
],
len
)
==
0
)
{
keys
[
nkeys
++
]
=
k
;
if
(
parnames
[
i
][
len
]
==
':'
&&
isdigit
(
parnames
[
i
][
len
+
1
])
)
Keylen
[
k
]
=
atoi
(
&
parnames
[
i
][
len
+
1
]);
if
(
k
==
knohead
)
lhead
=
FALSE
;
else
{
keys
[
nkeys
++
]
=
k
;
if
(
parnames
[
i
][
len
]
==
':'
&&
isdigit
(
parnames
[
i
][
len
+
1
])
)
Keylen
[
k
]
=
atoi
(
&
parnames
[
i
][
len
+
1
]);
}
break
;
}
}
...
...
@@ -138,6 +143,18 @@ void *Output(void *argument)
if
(
cdoVerbose
)
for
(
k
=
0
;
k
<
nkeys
;
++
k
)
cdoPrint
(
"keynr = %d keyid = %d keylen = %d keyname = %s"
,
k
,
keys
[
k
],
Keylen
[
keys
[
k
]],
Keynames
[
keys
[
k
]]);
if
(
lhead
)
{
fprintf
(
stdout
,
"#"
);
for
(
k
=
0
;
k
<
nkeys
;
++
k
)
{
len
=
Keylen
[
keys
[
k
]];
if
(
k
==
0
)
len
-=
1
;
fprintf
(
stdout
,
"%*s "
,
len
,
Keynames
[
keys
[
k
]]);
}
fprintf
(
stdout
,
"
\n
"
);
}
}
for
(
indf
=
0
;
indf
<
cdoStreamCnt
();
indf
++
)
...
...
src/modules.c
View file @
d53df0d8
...
...
@@ -362,7 +362,8 @@ void *Maggraph(void *argument);
#define NinfoOperators {"nyear", "nmon", "ndate", "ntime", "ncode", "npar", "nlevel"}
#define NmltestOperators {"nmltest"}
#define OutputOperators {"output", "outputint", "outputsrv", "outputext", "outputf", "outputts", \
"outputfld", "outputarr", "outputxyz", "outputtab"}
"outputfld", "outputarr", "outputxyz"}
#define OutputtabOperators {"outputtab"}
#define OutputgmtOperators {"gridverify", "outputcenter", "outputcenter2", "outputcentercpt", "outputbounds", \
"outputboundscpt", "outputvector", "outputtri", "outputvrml"}
#define PackOperators {"pack"}
...
...
@@ -627,6 +628,7 @@ static modules_t Modules[] =
{
Ninfo
,
NinfoHelp
,
NinfoOperators
,
CDI_BOTH
,
1
,
0
},
{
Nmltest
,
NULL
,
NmltestOperators
,
CDI_REAL
,
0
,
0
},
{
Output
,
OutputHelp
,
OutputOperators
,
CDI_REAL
,
-
1
,
0
},
{
Output
,
OutputtabHelp
,
OutputtabOperators
,
CDI_REAL
,
-
1
,
0
},
{
Outputgmt
,
NULL
,
OutputgmtOperators
,
CDI_REAL
,
1
,
0
},
{
Pack
,
NULL
,
PackOperators
,
CDI_REAL
,
1
,
1
},
{
Pinfo
,
NULL
,
PinfoOperators
,
CDI_REAL
,
1
,
1
},
...
...
src/operator_help.h
View file @
d53df0d8
...
...
@@ -416,7 +416,7 @@ static char *DistgridHelp[] = {
""
,
"NOTE"
,
" This operator needs to open all output files simultaneously."
,
" The maximum number of open files depen
t
s on the operating system!"
,
" The maximum number of open files depen
d
s on the operating system!"
,
NULL
};
...
...
@@ -437,7 +437,7 @@ static char *CollgridHelp[] = {
""
,
"NOTE"
,
" This operator needs to open all input files simultaneously."
,
" The maximum number of open files depen
t
s on the operating system!"
,
" The maximum number of open files depen
d
s on the operating system!"
,
NULL
};
...
...
@@ -3919,6 +3919,46 @@ static char *OutputHelp[] = {
NULL
};
static
char
*
OutputtabHelp
[]
=
{
"NAME"
,
" outputtab - Table output"
,
""
,
"SYNOPSIS"
,
" outputtab,params ifiles ofile"
,
""
,
"DESCRIPTION"
,
" This operator prints a table of all input datasets to standard output."
,
" ifiles is an arbitrary number of input files. All input files need to have "
,
" the same structure with the same variables on different timesteps."
,
" All input fields need to have the same horizontal grid."
,
" "
,
" The contents of the table depends on the chosen paramters. The format of each table"
,
" parameter is keyname[:len]. len is the optional length of a table entry. "
,
" Here is a list a all valid keynames:"
,
" "
,
" Keyname & Type & Description "
,
" value & FLOAT & Value of the variable [len:8]"
,
" name & STRING & Name of the variable [len:8]"
,
" param & STRING & Parameter ID (GRIB1: code[.tabnum]; GRIB2: num[.cat[.dis]]) [len:11]"
,
" code & INTEGER & Code number [len:4]"
,
" lon & FLOAT & Longitude coordinate [len:6]"
,
" lat & FLOAT & Latitude coordinate [len:6]"
,
" lev & FLOAT & Vertical level [len:6]"
,
" xind & INTEGER & Grid x index [len:4]"
,
" yind & INTEGER & Grid y index [len:4]"
,
" timestep & INTEGER & Timestep number [len:6]"
,
" date & STRING & Date (format YYYY-MM-DD) [len:10]"
,
" time & STRING & Time (format hh:mm:ss) [len:8]"
,
" year & INTEGER & Year [len:5]"
,
" month & INTEGER & Month [len:2]"
,
" day & INTEGER & Day [len:2]"
,
" nohead & INTEGER & Disable output of header line"
,
""
,
"PARAMETER"
,
" params STRING Comma separated list of keynames, one for each column of the table"
,
NULL
};
static
char
*
GradsdesHelp
[]
=
{
"NAME"
,
" gradsdes - GrADS data descriptor file"
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment