http://modb.oce.ulg.ac.be/mediawiki/index.php?title=Special:Contributions&feed=atom&target=Jmb
GHER - User contributions [en]
2020-08-04T03:29:08Z
From GHER
MediaWiki 1.15.5-7
http://modb.oce.ulg.ac.be/mediawiki/index.php/Divand
Divand
2018-01-18T13:09:09Z
<p>Jmb: /* NEW */</p>
<hr />
<div><html><br />
<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js?lang=matlab"></script><br />
<br />
<style><br />
.fun {<br />
color: black;<br />
}<br />
</style><br />
</html><br />
<br />
<tt>divand</tt> performs an n-dimensional variational analysis of arbitrarily located observations. Observation will be interpolated on a curvilinear grid in 2, 3 or more dimensions.<br />
<br />
Please cite this paper as follows if you use <tt>divand</tt> in a publication:<br />
<br />
Barth, A., Beckers, J.-M., Troupin, C., Alvera-Azcárate, A., and Vandenbulcke, L.: [http://www.geosci-model-dev.net/7/225/2014/gmd-7-225-2014.pdf divand-1.0: n-dimensional variational data analysis for ocean observations], Geosci. Model Dev., 7, 225-241, doi:[http://dx.doi.org/10.5194/gmd-7-225-2014 10.5194/gmd-7-225-2014], 2014.<br />
<br />
= Requirements =<br />
<br />
Your need [http://www.octave.org GNU Octave] (version 3.4 or later) or MATLAB to run <tt>divand</tt>.<br />
<br />
<br />
= NEW =<br />
<br />
If you are not strongly relying on MATLAB or Octave, you should consider using the newest JULIA version:<br />
<br />
https://github.com/gher-ulg/divand.jl<br />
<br />
= Installing =<br />
<br />
== Octave ==<br />
<br />
Inside octave, you can download and install the package by issuing:<br />
<br />
pkg install -verbose -forge -auto divand<br />
<br />
See "help pkg" and the documentation on [https://www.gnu.org/software/octave/doc/interpreter/Installing-and-Removing-Packages.html installing packages] for more options.<br />
<br />
== Matlab ==<br />
<br />
The following instructions work also for Octave if you do not want to use the package manager.<br />
<br />
* Download the source code from http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divand/divand-1.1.2.tar.gz (see also http://octave.sourceforge.net/divand/).<br />
* Extract the package<br />
* In MATLAB add the directory divand/inst to the search path. For testing it is sufficient if you move your current working directory to the divand/inst directory.<br />
<br />
addpath('/path/to/divand/inst');<br />
<br />
= Testing =<br />
<br />
A test script <tt>test_divand</tt> is included to verify the correct functioning of the toolbox.<br />
The script should be run in a Octave or MATLAB session. All tests should pass without warning or error.<br />
<br />
run test_interp_1d: (max difference=2.22045e-16) OK <br />
run test_interp_2d: (max difference=2.22045e-16) OK <br />
run test_interp_regular: (max difference=2.22045e-16) OK <br />
run test_sparse_diff: (max difference=0) OK <br />
run test_1dvar: OK <br />
run test_2dvar: (max difference=4.28659e-16) OK <br />
run test_2dvar_check: (max rms=2.39788e-16) OK <br />
run test_2dvar_adv: OK <br />
run test_2dvar_rellen: OK <br />
run test_2dvar_lenxy: OK <br />
run test_2dvar_check_correrr: (max rms=7.45461e-16) OK <br />
run test_2dvar_constrain: (max rms=9.41909e-10) OK <br />
run test_2dvar_cyclic: (max rms=2.71352e-14) OK <br />
run test_2dvar_eof_var: OK <br />
run test_2dvar_eof_check: OK <br />
run test_3dvar: (max difference=0.0182573) OK <br />
run test_3dvar_large_stacked: (max difference=2.40796e-15) OK <br />
run test_4dvar: (max difference=0.0111807) OK<br />
<br />
= Documentation =<br />
<br />
The main routine of this toolbox is called <tt>divand</tt> which performs an n-dimensional variational analysis of arbitrarily located observations. It can be called with a different number of input and output arguments:<br />
<br />
[fi,err,s] = divand(mask,pmn,xi,x,f,len,lambda,...); <br />
[fi,err] = divand(mask,pmn,xi,x,f,len,lambda,...); <br />
[fi,s] = divand(mask,pmn,xi,x,f,len,lambda,...); <br />
<br />
== Input arguments ==<br />
<br />
;mask: binary mask delimiting the domain. 1 is inside and 0 outside. This parameters has the same number of dimensions and grid points as the domain. For oceanographic application, this is the land-sea mask. <br />
;pmn: scale factor of the grid. pmn is a cell array with n arrays (each array has the same size as the mask). Every element represents the scale factor of the corresponding dimension. Its inverse is the local resolution of the grid in a particular dimension. <br />
;xi: cell array with n arrays (each array has the same size as the mask). Every element represents a coordinate of the final grid on which the observations are interpolated <br />
;x: cell array with n vectors (m-by-1 vector). Every vector represents a coordinate of the observations <br />
;f: vector with the value of the observations *minus* the background estimate (m-by-1 array). (see note) <br />
;len: correlation length (units must be consistent with scale factors)<br />
* if len is scalar, then the correlation length is the same in all directions and everywhere in the domain<br />
* if len is cell array of n scalars, then the correlation length can depend on the direction but for a given direction the correlation length is the same everywhere in the domain. The option is for example used when analysing 3D domain (longitude, latitude and depth) since the vertical scale is much smaller than the horizontal scale.<br />
* if len is cell array of n arrays (each array has the same size as the mask), then the correlation length can depend on the direction and on the location. The individual arrays should have the same size as the domain.<br />
<br />
;lambda: signal-to-noise ratio of observations (if lambda is a scalar). lambda is defined as the ratio of background error variance over the observation error variance. The larger this value is, the closer is the interpolated field <tt>fi</tt> to the observation.<br />
* If lambda is a scalar, then R = 1/lambda I, where R is the observation error covariance matrix (scaled by the background error variance),<br />
* If lambda is a vector, then R = diag(lambda)<br />
* If lambda is a matrix (or matrix-like object such CovarParam), then R = lambda<br />
<br />
== Optional input arguments ==<br />
<br />
Optional input arguments specified as pairs of keyword and values:<br />
;'velocity', vel: cell array with n arrays (each array has the same size as the mask) representing the velocity of advection constraint. The default is no advection constraint<br />
<br />
;'alpha': alpha is vector of coefficients multiplying various terms in the cost function.<br />
The first element multiplies the norm.<br />
The other i-th element of alpha multiplies the (i+1)-th derivative. <br />
Per default, the highest derivative is m = ceil(1+n/2) where n is the dimension of the problem. The values of alpha are per default the (m+1)th row of the Pascal triangle:<br />
<br />
m=0 1<br />
m=1 1 1<br />
m=1 1 2 1 (n=1,2)<br />
m=2 1 3 3 1 (n=3,4)<br />
...<br />
<br />
;'diagnostics': 0 or 1 turns diagnostic and debugging information on (1) or off (0, default). If on, they will be returned as the last output argument<br />
<br />
;'constraint': a structure with user specified constraint<br />
<br />
;'moddim': modulo for cyclic dimension (vector with n elements). Zero is used for non-cyclic dimensions. Halo points should not be included for cyclic dimensions. For example if the first dimension is cyclic, then the grid point corresponding to mask(1,j) should be between mask(end,1) (left neighbord) and mask(2,j) (right neighbord)<br />
<br />
;'fracdim': fractional indices (n-by-m array). If this array is specified, then x and xi are not used.<br />
<br />
Note: 'velocity' and 'constraint' may appear multiple times<br />
<br />
== Output ==<br />
;fi: the analysed field<br />
;err: error variance of the analysis field relative to the error variance of the background<br />
;s: structure with some diagnostics mainly for debugging purposes.<br />
<br />
<br />
=== Note ===<br />
<br />
If zero is not a valid first guess for your variable (as it is the case for e.g. ocean temperature), you have to subtract the first guess from the observations before calling divand and then add the first guess back in.<br />
<br />
<br />
== Advanced usage ==<br />
<br />
=== Additional constraint ===<br />
<br />
An arbitrary number of additional constraint can be included to the cost function which should have the following form:<br />
<br />
<br />
<math><br />
J_c(\vec x) = \sum_i \left(\mathbf C_i \vec x - \vec z_i \right)^T \mathbf Q_i^{-1} \left(\mathbf C_i \vec x - \vec z_i \right)<br />
</math><br />
<br />
For every constrain a structure with the following fields is passed to <tt>divand</tt>:<br />
<br />
;yo: the vector <math>\vec z_i</math><br />
;H: the matrix <math>\mathbf C_i</math><br />
;R: the matrix <math>\mathbf Q_i</math> (symmetric and positive defined)<br />
<br />
Internally the observations are also implemented as an additional constraint.<br />
<br />
== Example ==<br />
<br />
<br />
=== Simple analytical example ===<br />
<br />
see divand_simple_example.m<br />
<br />
<html><br />
<pre class="prettyprint lang-matlab"><br />
% A simple example of divand is 2 dimensions<br />
% with observations from an analytical function<br />
<br />
<br />
% observations<br />
x = rand(75,1);<br />
y = rand(75,1);<br />
f = sin(x*6) .* cos(y*6);<br />
<br />
% final grid<br />
[xi,yi] = ndgrid(linspace(0,1,30));<br />
<br />
% reference field<br />
fref = sin(xi*6) .* cos(yi*6);<br />
<br />
% all points are valid points<br />
mask = ones(size(xi));<br />
<br />
% this problem has a simple cartesian metric<br />
% pm is the inverse of the resolution along the 1st dimension<br />
% pn is the inverse of the resolution along the 2nd dimension<br />
<br />
pm = ones(size(xi)) / (xi(2,1)-xi(1,1));<br />
pn = ones(size(xi)) / (yi(1,2)-yi(1,1));<br />
<br />
% correlation length<br />
len = 0.1;<br />
<br />
% signal-to-noise ratio<br />
lambda = 20;<br />
<br />
% fi is the interpolated field<br />
fi = divand(mask,{pm,pn},{xi,yi},{x,y},f,len,lambda);<br />
<br />
% plotting of results<br />
subplot(1,2,1); <br />
pcolor(xi,yi,fref);<br />
shading flat,colorbar<br />
ca = caxis;<br />
set(findobj(gcf,'FontSize',10),'FontSize',16)<br />
title('Reference field and observation loc.');<br />
hold on<br />
plot(x,y,'k.');<br />
<br />
subplot(1,2,2); <br />
hold on<br />
pcolor(xi,yi,fi);<br />
shading flat,colorbar<br />
caxis(ca);<br />
set(findobj(gcf,'FontSize',10),'FontSize',16)<br />
title('Interpolated field');<br />
<br />
set(gcf,'PaperUnits','centimeters','PaperPosition',[0 0 25 12 ]);<br />
print -dpng divand_simple_example.png<br />
</pre><br />
</html><br />
<br />
[[File:Divand simple example.png|800px]]<br />
<br />
=== Simple realistic example ===<br />
<br />
A realistic example of divand in 2 dimensions with Salinity observations in the Mediterranean Sea at 30m is provided. <br />
Observations can be downloaded from http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divand/data.dat and the bathymetry is available at http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divand/diva_bath.nc.<br />
<br />
<br />
<html><br />
<pre class="prettyprint lang-matlab"><br />
<br />
% load observations<br />
<br />
load data.dat<br />
<br />
% extract columns of data<br />
lonobs = data(:,1);<br />
latobs = data(:,2);<br />
S = data(:,3); <br />
<br />
% load bathymetry<br />
% bath is negative in water and positive in air<br />
bat = ncread('diva_bath.nc','bat');<br />
lon = ncread('diva_bath.nc','lon');<br />
lat = ncread('diva_bath.nc','lat');<br />
<br />
% compute grid metric<br />
% pm and pn are in meters^-1<br />
[lon,lat] = ndgrid(lon,lat); <br />
[pm,pn] = divand_metric(lon,lat);<br />
<br />
% compute mean and anomalies<br />
Smean = mean(S);<br />
Sanom = S - mean(S);<br />
<br />
% correlation length (in meters)<br />
len = 200e3;<br />
<br />
% signal-to-noise ratio<br />
lambda = 0.5;<br />
<br />
% land-sea mask<br />
% mask everything below 30 m<br />
mask = bat < -30;<br />
<br />
% mask for the analysis<br />
maska = mask;<br />
% remove Atlantic<br />
maska(1:60,130:end) = 0; <br />
% remove Black Sea<br />
maska(323:end,100:end) = 0;<br />
<br />
% make analysis<br />
Sa = divand(maska,{pm,pn},{lon,lat},{lonobs,latobs},Sanom,len,lambda);<br />
<br />
% add mean back<br />
Sa2 = Sa + Smean;<br />
<br />
% create plots<br />
<br />
% color axis<br />
ca = [36.2520 39.4480];<br />
<br />
% aspect ratio<br />
ar = [1 cos(mean(lat(:)) * pi/180) 1];<br />
<br />
<br />
subplot(2,1,1);<br />
scatter(lonobs,latobs,10,S)<br />
caxis(ca);<br />
colorbar<br />
hold on, contour(lon,lat,mask,0.5,'k')<br />
xlim(lon([1 end]))<br />
ylim(lat([1 end]))<br />
title('Observations');<br />
set(gca,'DataAspectRatio',ar,'Layer','top')<br />
<br />
subplot(2,1,2);<br />
pcolor(lon,lat,Sa2), shading flat,colorbar<br />
hold on<br />
plot(lonobs,latobs,'k.','MarkerSize',1)<br />
caxis(ca)<br />
contour(lon,lat,mask,0.5,'k')<br />
xlim(lon([1 end]))<br />
ylim(lat([1 end]))<br />
title('Analysis');<br />
set(gca,'DataAspectRatio',ar,'Layer','top')<br />
<br />
set(gcf,'PaperUnits','centimeters','PaperPosition',[0 0 15 15 ]);<br />
print -dpng divand_realistic_example.png</pre><br />
</html><br />
<br />
This example gives the following output:<br />
<br />
[[Image:Divand realistic example.png|800px]]<br />
<br />
<br />
=== Determining the parameters ===<br />
<br />
The parameter lambda and parameter len are crucial for the analysis. lambda corresponds to the signal-to-noise ratio (variance of background error over variance of observation error). Therefore, its value depends on how accurate and how representative the observations are. The value of len can sometimes be determined by physical arguments.<br />
One statistical way to determine the parameter(s) is to do a [https://en.wikipedia.org/wiki/Cross-validation_%28statistics%29 cross-validation].<br />
<br />
# choose, at random, a relatively small subset of observations (about 5%). This is the validation data set.<br />
# make the analysis without your validation data set<br />
# compare the analysis to your validation data set and compute the RMS difference<br />
# repeat steps 2 and 3 with different values of the parameters and try to minimize the RMS difference.<br />
<br />
The minimization of the RMS difference can be automated using e.g. the octave/matlab function <tt>fminsearch</tt>.<br />
You can repeat all steps with a different validation data set to ensure that the optimal parameters values are robust.<br />
<br />
= Fun =<br />
<br />
A [http://data-assimilation.net/Tools/divand_demo/html/ educational web application] has been developed to reconstruct a field based on point "observations". The user must choose in an optimal way the location of 10 observations such that the analysed field obtained by divand based on these observation is as close as possible to the original field.<br />
<br />
= Troubleshooting =<br />
<br />
Cholesky factorization fails with the following error:<br />
<br />
??? Error using ==> chol<br />
CHOLMOD internal error.<br />
<br />
Error in ==> CovarIS.factorize at 5<br />
[self.RP, self.q, self.PP] = chol (self.IS);<br />
<br />
This might happen if:<br />
* memory is insufficient,<br />
* matrix contains a NaN introduced through metric scale factor equal to zero or a user constraint.<br />
<br />
<br />
== ichol failed ==<br />
<br />
You get the error:<br />
<br />
Error using ichol<br />
Encountered nonpositive pivot.<br />
<br />
You might try diagonal compensation, e.g.<br />
<br />
icholparam = struct('michol','on','diagcomp',0.0036); <br />
<br />
or the incomplete Cholesky decomposition with threshold dropping (ict) and diagonal compensation:<br />
<br />
icholparam = struct('type','ict','droptol',1e-6,'diagcomp',0.0001);<br />
<br />
To pass the ichol parameters you must call <tt>divand</tt> like this:<br />
<br />
[fi,s] = divand(mask,{pm,pn,pk},{xi,yi,zi},{x,y,z},f,len,lambda,...<br />
'diagnostics',1,'primal',1,'inversion','pcg',...<br />
'tol',1e-6,'maxit',50000,...<br />
'compPC',@(iB,H,R) divand_pc_michol(iB,H,R,icholparam));<br />
<br />
At bit of experimentation is necessary. Try to use lowest value of diagcomp (without triggering the error in ichol) and the lowest value of troptol for the ict decomposition (without running out of memory).</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Divand
Divand
2018-01-18T13:08:22Z
<p>Jmb: /* Requirements */</p>
<hr />
<div><html><br />
<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js?lang=matlab"></script><br />
<br />
<style><br />
.fun {<br />
color: black;<br />
}<br />
</style><br />
</html><br />
<br />
<tt>divand</tt> performs an n-dimensional variational analysis of arbitrarily located observations. Observation will be interpolated on a curvilinear grid in 2, 3 or more dimensions.<br />
<br />
Please cite this paper as follows if you use <tt>divand</tt> in a publication:<br />
<br />
Barth, A., Beckers, J.-M., Troupin, C., Alvera-Azcárate, A., and Vandenbulcke, L.: [http://www.geosci-model-dev.net/7/225/2014/gmd-7-225-2014.pdf divand-1.0: n-dimensional variational data analysis for ocean observations], Geosci. Model Dev., 7, 225-241, doi:[http://dx.doi.org/10.5194/gmd-7-225-2014 10.5194/gmd-7-225-2014], 2014.<br />
<br />
= Requirements =<br />
<br />
Your need [http://www.octave.org GNU Octave] (version 3.4 or later) or MATLAB to run <tt>divand</tt>.<br />
<br />
<br />
= NEW =<br />
<br />
If you are not strongly relying on MATLAB or Octave, you should consider using the newest JULIA version:<br />
<br />
[https://github.com/gher-ulg/divand.jl]<br />
<br />
= Installing =<br />
<br />
== Octave ==<br />
<br />
Inside octave, you can download and install the package by issuing:<br />
<br />
pkg install -verbose -forge -auto divand<br />
<br />
See "help pkg" and the documentation on [https://www.gnu.org/software/octave/doc/interpreter/Installing-and-Removing-Packages.html installing packages] for more options.<br />
<br />
== Matlab ==<br />
<br />
The following instructions work also for Octave if you do not want to use the package manager.<br />
<br />
* Download the source code from http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divand/divand-1.1.2.tar.gz (see also http://octave.sourceforge.net/divand/).<br />
* Extract the package<br />
* In MATLAB add the directory divand/inst to the search path. For testing it is sufficient if you move your current working directory to the divand/inst directory.<br />
<br />
addpath('/path/to/divand/inst');<br />
<br />
= Testing =<br />
<br />
A test script <tt>test_divand</tt> is included to verify the correct functioning of the toolbox.<br />
The script should be run in a Octave or MATLAB session. All tests should pass without warning or error.<br />
<br />
run test_interp_1d: (max difference=2.22045e-16) OK <br />
run test_interp_2d: (max difference=2.22045e-16) OK <br />
run test_interp_regular: (max difference=2.22045e-16) OK <br />
run test_sparse_diff: (max difference=0) OK <br />
run test_1dvar: OK <br />
run test_2dvar: (max difference=4.28659e-16) OK <br />
run test_2dvar_check: (max rms=2.39788e-16) OK <br />
run test_2dvar_adv: OK <br />
run test_2dvar_rellen: OK <br />
run test_2dvar_lenxy: OK <br />
run test_2dvar_check_correrr: (max rms=7.45461e-16) OK <br />
run test_2dvar_constrain: (max rms=9.41909e-10) OK <br />
run test_2dvar_cyclic: (max rms=2.71352e-14) OK <br />
run test_2dvar_eof_var: OK <br />
run test_2dvar_eof_check: OK <br />
run test_3dvar: (max difference=0.0182573) OK <br />
run test_3dvar_large_stacked: (max difference=2.40796e-15) OK <br />
run test_4dvar: (max difference=0.0111807) OK<br />
<br />
= Documentation =<br />
<br />
The main routine of this toolbox is called <tt>divand</tt> which performs an n-dimensional variational analysis of arbitrarily located observations. It can be called with a different number of input and output arguments:<br />
<br />
[fi,err,s] = divand(mask,pmn,xi,x,f,len,lambda,...); <br />
[fi,err] = divand(mask,pmn,xi,x,f,len,lambda,...); <br />
[fi,s] = divand(mask,pmn,xi,x,f,len,lambda,...); <br />
<br />
== Input arguments ==<br />
<br />
;mask: binary mask delimiting the domain. 1 is inside and 0 outside. This parameters has the same number of dimensions and grid points as the domain. For oceanographic application, this is the land-sea mask. <br />
;pmn: scale factor of the grid. pmn is a cell array with n arrays (each array has the same size as the mask). Every element represents the scale factor of the corresponding dimension. Its inverse is the local resolution of the grid in a particular dimension. <br />
;xi: cell array with n arrays (each array has the same size as the mask). Every element represents a coordinate of the final grid on which the observations are interpolated <br />
;x: cell array with n vectors (m-by-1 vector). Every vector represents a coordinate of the observations <br />
;f: vector with the value of the observations *minus* the background estimate (m-by-1 array). (see note) <br />
;len: correlation length (units must be consistent with scale factors)<br />
* if len is scalar, then the correlation length is the same in all directions and everywhere in the domain<br />
* if len is cell array of n scalars, then the correlation length can depend on the direction but for a given direction the correlation length is the same everywhere in the domain. The option is for example used when analysing 3D domain (longitude, latitude and depth) since the vertical scale is much smaller than the horizontal scale.<br />
* if len is cell array of n arrays (each array has the same size as the mask), then the correlation length can depend on the direction and on the location. The individual arrays should have the same size as the domain.<br />
<br />
;lambda: signal-to-noise ratio of observations (if lambda is a scalar). lambda is defined as the ratio of background error variance over the observation error variance. The larger this value is, the closer is the interpolated field <tt>fi</tt> to the observation.<br />
* If lambda is a scalar, then R = 1/lambda I, where R is the observation error covariance matrix (scaled by the background error variance),<br />
* If lambda is a vector, then R = diag(lambda)<br />
* If lambda is a matrix (or matrix-like object such CovarParam), then R = lambda<br />
<br />
== Optional input arguments ==<br />
<br />
Optional input arguments specified as pairs of keyword and values:<br />
;'velocity', vel: cell array with n arrays (each array has the same size as the mask) representing the velocity of advection constraint. The default is no advection constraint<br />
<br />
;'alpha': alpha is vector of coefficients multiplying various terms in the cost function.<br />
The first element multiplies the norm.<br />
The other i-th element of alpha multiplies the (i+1)-th derivative. <br />
Per default, the highest derivative is m = ceil(1+n/2) where n is the dimension of the problem. The values of alpha are per default the (m+1)th row of the Pascal triangle:<br />
<br />
m=0 1<br />
m=1 1 1<br />
m=1 1 2 1 (n=1,2)<br />
m=2 1 3 3 1 (n=3,4)<br />
...<br />
<br />
;'diagnostics': 0 or 1 turns diagnostic and debugging information on (1) or off (0, default). If on, they will be returned as the last output argument<br />
<br />
;'constraint': a structure with user specified constraint<br />
<br />
;'moddim': modulo for cyclic dimension (vector with n elements). Zero is used for non-cyclic dimensions. Halo points should not be included for cyclic dimensions. For example if the first dimension is cyclic, then the grid point corresponding to mask(1,j) should be between mask(end,1) (left neighbord) and mask(2,j) (right neighbord)<br />
<br />
;'fracdim': fractional indices (n-by-m array). If this array is specified, then x and xi are not used.<br />
<br />
Note: 'velocity' and 'constraint' may appear multiple times<br />
<br />
== Output ==<br />
;fi: the analysed field<br />
;err: error variance of the analysis field relative to the error variance of the background<br />
;s: structure with some diagnostics mainly for debugging purposes.<br />
<br />
<br />
=== Note ===<br />
<br />
If zero is not a valid first guess for your variable (as it is the case for e.g. ocean temperature), you have to subtract the first guess from the observations before calling divand and then add the first guess back in.<br />
<br />
<br />
== Advanced usage ==<br />
<br />
=== Additional constraint ===<br />
<br />
An arbitrary number of additional constraint can be included to the cost function which should have the following form:<br />
<br />
<br />
<math><br />
J_c(\vec x) = \sum_i \left(\mathbf C_i \vec x - \vec z_i \right)^T \mathbf Q_i^{-1} \left(\mathbf C_i \vec x - \vec z_i \right)<br />
</math><br />
<br />
For every constrain a structure with the following fields is passed to <tt>divand</tt>:<br />
<br />
;yo: the vector <math>\vec z_i</math><br />
;H: the matrix <math>\mathbf C_i</math><br />
;R: the matrix <math>\mathbf Q_i</math> (symmetric and positive defined)<br />
<br />
Internally the observations are also implemented as an additional constraint.<br />
<br />
== Example ==<br />
<br />
<br />
=== Simple analytical example ===<br />
<br />
see divand_simple_example.m<br />
<br />
<html><br />
<pre class="prettyprint lang-matlab"><br />
% A simple example of divand is 2 dimensions<br />
% with observations from an analytical function<br />
<br />
<br />
% observations<br />
x = rand(75,1);<br />
y = rand(75,1);<br />
f = sin(x*6) .* cos(y*6);<br />
<br />
% final grid<br />
[xi,yi] = ndgrid(linspace(0,1,30));<br />
<br />
% reference field<br />
fref = sin(xi*6) .* cos(yi*6);<br />
<br />
% all points are valid points<br />
mask = ones(size(xi));<br />
<br />
% this problem has a simple cartesian metric<br />
% pm is the inverse of the resolution along the 1st dimension<br />
% pn is the inverse of the resolution along the 2nd dimension<br />
<br />
pm = ones(size(xi)) / (xi(2,1)-xi(1,1));<br />
pn = ones(size(xi)) / (yi(1,2)-yi(1,1));<br />
<br />
% correlation length<br />
len = 0.1;<br />
<br />
% signal-to-noise ratio<br />
lambda = 20;<br />
<br />
% fi is the interpolated field<br />
fi = divand(mask,{pm,pn},{xi,yi},{x,y},f,len,lambda);<br />
<br />
% plotting of results<br />
subplot(1,2,1); <br />
pcolor(xi,yi,fref);<br />
shading flat,colorbar<br />
ca = caxis;<br />
set(findobj(gcf,'FontSize',10),'FontSize',16)<br />
title('Reference field and observation loc.');<br />
hold on<br />
plot(x,y,'k.');<br />
<br />
subplot(1,2,2); <br />
hold on<br />
pcolor(xi,yi,fi);<br />
shading flat,colorbar<br />
caxis(ca);<br />
set(findobj(gcf,'FontSize',10),'FontSize',16)<br />
title('Interpolated field');<br />
<br />
set(gcf,'PaperUnits','centimeters','PaperPosition',[0 0 25 12 ]);<br />
print -dpng divand_simple_example.png<br />
</pre><br />
</html><br />
<br />
[[File:Divand simple example.png|800px]]<br />
<br />
=== Simple realistic example ===<br />
<br />
A realistic example of divand in 2 dimensions with Salinity observations in the Mediterranean Sea at 30m is provided. <br />
Observations can be downloaded from http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divand/data.dat and the bathymetry is available at http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divand/diva_bath.nc.<br />
<br />
<br />
<html><br />
<pre class="prettyprint lang-matlab"><br />
<br />
% load observations<br />
<br />
load data.dat<br />
<br />
% extract columns of data<br />
lonobs = data(:,1);<br />
latobs = data(:,2);<br />
S = data(:,3); <br />
<br />
% load bathymetry<br />
% bath is negative in water and positive in air<br />
bat = ncread('diva_bath.nc','bat');<br />
lon = ncread('diva_bath.nc','lon');<br />
lat = ncread('diva_bath.nc','lat');<br />
<br />
% compute grid metric<br />
% pm and pn are in meters^-1<br />
[lon,lat] = ndgrid(lon,lat); <br />
[pm,pn] = divand_metric(lon,lat);<br />
<br />
% compute mean and anomalies<br />
Smean = mean(S);<br />
Sanom = S - mean(S);<br />
<br />
% correlation length (in meters)<br />
len = 200e3;<br />
<br />
% signal-to-noise ratio<br />
lambda = 0.5;<br />
<br />
% land-sea mask<br />
% mask everything below 30 m<br />
mask = bat < -30;<br />
<br />
% mask for the analysis<br />
maska = mask;<br />
% remove Atlantic<br />
maska(1:60,130:end) = 0; <br />
% remove Black Sea<br />
maska(323:end,100:end) = 0;<br />
<br />
% make analysis<br />
Sa = divand(maska,{pm,pn},{lon,lat},{lonobs,latobs},Sanom,len,lambda);<br />
<br />
% add mean back<br />
Sa2 = Sa + Smean;<br />
<br />
% create plots<br />
<br />
% color axis<br />
ca = [36.2520 39.4480];<br />
<br />
% aspect ratio<br />
ar = [1 cos(mean(lat(:)) * pi/180) 1];<br />
<br />
<br />
subplot(2,1,1);<br />
scatter(lonobs,latobs,10,S)<br />
caxis(ca);<br />
colorbar<br />
hold on, contour(lon,lat,mask,0.5,'k')<br />
xlim(lon([1 end]))<br />
ylim(lat([1 end]))<br />
title('Observations');<br />
set(gca,'DataAspectRatio',ar,'Layer','top')<br />
<br />
subplot(2,1,2);<br />
pcolor(lon,lat,Sa2), shading flat,colorbar<br />
hold on<br />
plot(lonobs,latobs,'k.','MarkerSize',1)<br />
caxis(ca)<br />
contour(lon,lat,mask,0.5,'k')<br />
xlim(lon([1 end]))<br />
ylim(lat([1 end]))<br />
title('Analysis');<br />
set(gca,'DataAspectRatio',ar,'Layer','top')<br />
<br />
set(gcf,'PaperUnits','centimeters','PaperPosition',[0 0 15 15 ]);<br />
print -dpng divand_realistic_example.png</pre><br />
</html><br />
<br />
This example gives the following output:<br />
<br />
[[Image:Divand realistic example.png|800px]]<br />
<br />
<br />
=== Determining the parameters ===<br />
<br />
The parameter lambda and parameter len are crucial for the analysis. lambda corresponds to the signal-to-noise ratio (variance of background error over variance of observation error). Therefore, its value depends on how accurate and how representative the observations are. The value of len can sometimes be determined by physical arguments.<br />
One statistical way to determine the parameter(s) is to do a [https://en.wikipedia.org/wiki/Cross-validation_%28statistics%29 cross-validation].<br />
<br />
# choose, at random, a relatively small subset of observations (about 5%). This is the validation data set.<br />
# make the analysis without your validation data set<br />
# compare the analysis to your validation data set and compute the RMS difference<br />
# repeat steps 2 and 3 with different values of the parameters and try to minimize the RMS difference.<br />
<br />
The minimization of the RMS difference can be automated using e.g. the octave/matlab function <tt>fminsearch</tt>.<br />
You can repeat all steps with a different validation data set to ensure that the optimal parameters values are robust.<br />
<br />
= Fun =<br />
<br />
A [http://data-assimilation.net/Tools/divand_demo/html/ educational web application] has been developed to reconstruct a field based on point "observations". The user must choose in an optimal way the location of 10 observations such that the analysed field obtained by divand based on these observation is as close as possible to the original field.<br />
<br />
= Troubleshooting =<br />
<br />
Cholesky factorization fails with the following error:<br />
<br />
??? Error using ==> chol<br />
CHOLMOD internal error.<br />
<br />
Error in ==> CovarIS.factorize at 5<br />
[self.RP, self.q, self.PP] = chol (self.IS);<br />
<br />
This might happen if:<br />
* memory is insufficient,<br />
* matrix contains a NaN introduced through metric scale factor equal to zero or a user constraint.<br />
<br />
<br />
== ichol failed ==<br />
<br />
You get the error:<br />
<br />
Error using ichol<br />
Encountered nonpositive pivot.<br />
<br />
You might try diagonal compensation, e.g.<br />
<br />
icholparam = struct('michol','on','diagcomp',0.0036); <br />
<br />
or the incomplete Cholesky decomposition with threshold dropping (ict) and diagonal compensation:<br />
<br />
icholparam = struct('type','ict','droptol',1e-6,'diagcomp',0.0001);<br />
<br />
To pass the ichol parameters you must call <tt>divand</tt> like this:<br />
<br />
[fi,s] = divand(mask,{pm,pn,pk},{xi,yi,zi},{x,y,z},f,len,lambda,...<br />
'diagnostics',1,'primal',1,'inversion','pcg',...<br />
'tol',1e-6,'maxit',50000,...<br />
'compPC',@(iB,H,R) divand_pc_michol(iB,H,R,icholparam));<br />
<br />
At bit of experimentation is necessary. Try to use lowest value of diagcomp (without triggering the error in ichol) and the lowest value of troptol for the ict decomposition (without running out of memory).</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_installation
Diva installation
2016-10-04T12:17:33Z
<p>Jmb: /* Windows */</p>
<hr />
<div><div style="float: left;text-align:justify; width: 75%"><br />
<br />
== How to install? ==<br />
<br />
Chose a place where you want to work with the new version (if you already have a running installation, it is advised to install the new version at another location and replace the old one only when everything has been set up correctly with the new version).<br />
<br />
* Download the archive, here as an example for version 4.6.2:<br />
wget http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.6.2.tar.gz<br />
<br />
* Extract the files from the archive:<br />
tar -xvzf diva-4.6.2.tar.gz<br />
<br />
== Compilation == <br />
<br />
Diva can be compiled with different operating systems. The preferred one is Linux, as installing on windows is more tedious. The procedures are detailed below. If you already have a running Diva installation, install the new version at a new place and look at the compiler options you have used in the past in the corresponing '''divacompile_options'''<br />
<br />
=== Linux ===<br />
<br />
The minimal requirements are:<br />
* A Fortran 90 compiler with -cpp possibilities (easily installed through a package manager)<br />
* The NetCDF library (instructions for installation [http://modb.oce.ulg.ac.be/mediawiki/index.php/NetCDF_format here])<br />
<br />
==== Edit configuration file for compilation ====<br />
<br />
* Go in the source directory<br />
cd diva-4.6.2/DIVA3D/src/Fortran/<br />
* Edit the file '''divacompile_options''' according to your installation.<br />
For versions < 4.6.0: compiler name and flags as well as NetCDF library location have to be indicated<br />
'''Example:'''<br />
# Name of the fortran compiler (ex: ifort,gfortran,pgi,...)<br />
compiler=ifort<br />
# Compilation flags<br />
flags='-O3'<br />
# Netcdf library<br />
nclib=/usr/local/lib/netcdf3ifort/libnetcdf.a<br />
If your installation knows the [http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/nc_002dconfig.html nc-config] or '''nf-config''' command, you can use<br />
nclib=`nc-config --flibs`<br />
<br />
If you have run-time problems with netcdf libraries, you can also try<br />
<br />
compiler=`nc-config --fc`<br />
<br />
to make sure you use the same compiler as the one used to compile the netcdf libraries.<br />
<br />
For versions >= 4.6.0: the compilations script automatically detects the compiler, flags and NetCDF library using [http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/nc_002dconfig.html nc-config] or '''nf-config''' tools.<br />
This possibility is normally detected automatically but if there are problems with the Netcdf library you might look into these definitions. If your compilation fails and complains about not finding netcdf.mod you can add '''-I/<pathtomissingmodfile>''' into the compilation options if you know where the netcdf.mod can be found.<br />
<br />
==== Run the compilation script ==== <br />
./divacompileall<br />
<br />
<br />
==== Check configuration log ====<br />
<br />
Information related to the compilation is contained in file '''compilation.log'''.<br><br />
Check that all the programs were compiled.<br />
<br />
Compilation time: jue ago 8 15:04:46 CEST 2013<br />
compiler: gfortran<br />
compilation flags: -O3 -cpp -DDIVAITERATIVE<br />
Calc directory: 1/1 program compiled<br />
Extensions directory: 13/13 programs compiled<br />
Mesh directory: 9/9 programs compiled<br />
NC directory: 3/3 programs compiled<br />
PlPlot directory: 1/1 programs compiled<br />
Util directory: 41/41 programs compiled<br />
Pipetest directory: 1/1 program compiled<br />
Stabil directory: 28/28 programs compiled<br />
----------------------------------------------------------<br />
TOTAL: 97/97 programs compiled<br />
----------------------------------------------------------<br />
Binaries are located in directory:<br />
~/diva-4.6.2/DIVA3D/bin<br />
<br />
=== Windows ===<br />
<br />
To compile the code under windows, you need to install [http://cygwin.com/install.html cygwin], a Linux-like environment for Windows.<br />
<br />
The installation or update of cygwin is done by running the '''setup.exe''' executable. It is recommended to install:<br />
<br />
* g77, a Fortran 77 compiler <br />
* [http://gcc.gnu.org/wiki/GFortran/ gfortran], a Fortran 95 compiler . It is now available through the cygwin installer: gcc-fortan <br />
* Xterm, the X11 terminal emulator.<br />
* gmp, mpfr, and mpc libraries<br />
* dos2unix<br />
* bc<br />
* The [http://www.unidata.ucar.edu/downloads/netcdf/index.jsp NetCDF] library (select the package called libnetcdf-fortran-devel). The library is available in the cygwin installer, but does not properly work in all cases (and you must add the library '''nclib=/usr/lib/libnetcdff.dll.a''' into the compiling options). When trying to make the cygwin netcdt library to work, you might need to use '''cygcheck netcdfoutput.a''' to see which libraries are still missing (in our case sasl) and therefore to install with the cygwin installer. Make sure you have a recent Gfortran compiler compatible with the netCDF version.<br />
<br />
If you need to install nectCDF from source, proceed as follows. We used version 3.6.3, which does not require hdf5 library. The installation was performed with commands:<br />
cd directory_containing_netcdf3.6.3<br />
./configure --disable-cc<br />
make<br />
make install<br />
<br />
The second line means that the library will not be build for c++ (not necessary in the case of Diva).<br />
<br />
[[File:InstallCygwin1.png|500px|left]]<br />
<br />
[[File:InstallCygwin2.png|500px|left]]<br />
<br />
<br style="clear: both" /><br />
<br />
== Run a test case ==<br />
<br />
* Go into ''divastripped'' directory:<br />
cd path_to_divastripped<br />
* Execute the script divatest:<br />
divatest<br />
* Check you results: they should look like this (here viewed with ncview): <br />
<br />
[[Image:Diva test results.png|550px|center]]<br />
<br />
<br />
Further tests provided are <br />
divatest0 <br />
and <br />
divabigtest <br />
for testing finer meshes. Finally <br />
divatesterror <br />
is provided for checking all error calculation possibilities.<br />
<br />
== Possible issues ==<br />
<br />
=== Command not found ===<br />
<br />
In case of ''command not found'' message, you may have to type<br />
export PATH=$PATH:.<br />
<br />
So if you need to type ./divacalc or similar things in a directory where divacalc is present, make sure to expand your path as shown above to be able use local scripts and programs<br />
<br />
=== Problem with awk ===<br />
<br />
By default Ubuntu comes with [http://invisible-island.net/mawk/ mawk], which has a different behavior when interpreting [http://www.gnu.org/software/gawk/manual/gawk.html awk]. In that case, the test will fail, and you will get an error like<br />
error message<br />
<br />
To solve this problem, it is only necessary to install [http://www.gnu.org/software/gawk/ gawk]. The problem was previously reported for other programs, ''e.g.'', http://lists.netisland.net/archives/plug/plug-2008-09/msg00071.html.<br />
<br />
Running <tt>divatest</tt> will try to test if you have the correct gawk version<br />
<br />
<br />
== NetCDF issues ==<br />
<br />
=== Incompatible versions ===<br />
<br />
Error message:<br />
<br />
Cannot read module file 'netcdf.mod' opened at (1), because it was created by a different version of GNU Fortran<br />
<br />
All libraries and DIVA must be compiled with the same compiler and same compiler version. If Cygwin upgrades its compiler, then the cygwin installation must be updated. The inconsistency might also arise if you compile NetCDF from source and the compiler is updated. The NetCDF source code has to be recompiled in this case.<br />
<br />
=== Missing module file (.mod) ===<br />
<br />
Error message:<br />
<br />
Can't open module file 'netcdf.mod' for reading at (1): No such file or directory<br />
<br />
Check if libnetcdf-fortran-devel (cygwin) or libnetcdf-dev (ubuntu) is installed. This file should be in /usr/include (sometimes in upper-case e.g. NETCDF.mod).<br />
If NetCDF is compiled from source, then the location might be different.<br />
<br />
</div><br />
<br />
[[Category : compiling]]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_installation
Diva installation
2016-10-04T12:16:20Z
<p>Jmb: /* Windows */</p>
<hr />
<div><div style="float: left;text-align:justify; width: 75%"><br />
<br />
== How to install? ==<br />
<br />
Chose a place where you want to work with the new version (if you already have a running installation, it is advised to install the new version at another location and replace the old one only when everything has been set up correctly with the new version).<br />
<br />
* Download the archive, here as an example for version 4.6.2:<br />
wget http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.6.2.tar.gz<br />
<br />
* Extract the files from the archive:<br />
tar -xvzf diva-4.6.2.tar.gz<br />
<br />
== Compilation == <br />
<br />
Diva can be compiled with different operating systems. The preferred one is Linux, as installing on windows is more tedious. The procedures are detailed below. If you already have a running Diva installation, install the new version at a new place and look at the compiler options you have used in the past in the corresponing '''divacompile_options'''<br />
<br />
=== Linux ===<br />
<br />
The minimal requirements are:<br />
* A Fortran 90 compiler with -cpp possibilities (easily installed through a package manager)<br />
* The NetCDF library (instructions for installation [http://modb.oce.ulg.ac.be/mediawiki/index.php/NetCDF_format here])<br />
<br />
==== Edit configuration file for compilation ====<br />
<br />
* Go in the source directory<br />
cd diva-4.6.2/DIVA3D/src/Fortran/<br />
* Edit the file '''divacompile_options''' according to your installation.<br />
For versions < 4.6.0: compiler name and flags as well as NetCDF library location have to be indicated<br />
'''Example:'''<br />
# Name of the fortran compiler (ex: ifort,gfortran,pgi,...)<br />
compiler=ifort<br />
# Compilation flags<br />
flags='-O3'<br />
# Netcdf library<br />
nclib=/usr/local/lib/netcdf3ifort/libnetcdf.a<br />
If your installation knows the [http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/nc_002dconfig.html nc-config] or '''nf-config''' command, you can use<br />
nclib=`nc-config --flibs`<br />
<br />
If you have run-time problems with netcdf libraries, you can also try<br />
<br />
compiler=`nc-config --fc`<br />
<br />
to make sure you use the same compiler as the one used to compile the netcdf libraries.<br />
<br />
For versions >= 4.6.0: the compilations script automatically detects the compiler, flags and NetCDF library using [http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/nc_002dconfig.html nc-config] or '''nf-config''' tools.<br />
This possibility is normally detected automatically but if there are problems with the Netcdf library you might look into these definitions. If your compilation fails and complains about not finding netcdf.mod you can add '''-I/<pathtomissingmodfile>''' into the compilation options if you know where the netcdf.mod can be found.<br />
<br />
==== Run the compilation script ==== <br />
./divacompileall<br />
<br />
<br />
==== Check configuration log ====<br />
<br />
Information related to the compilation is contained in file '''compilation.log'''.<br><br />
Check that all the programs were compiled.<br />
<br />
Compilation time: jue ago 8 15:04:46 CEST 2013<br />
compiler: gfortran<br />
compilation flags: -O3 -cpp -DDIVAITERATIVE<br />
Calc directory: 1/1 program compiled<br />
Extensions directory: 13/13 programs compiled<br />
Mesh directory: 9/9 programs compiled<br />
NC directory: 3/3 programs compiled<br />
PlPlot directory: 1/1 programs compiled<br />
Util directory: 41/41 programs compiled<br />
Pipetest directory: 1/1 program compiled<br />
Stabil directory: 28/28 programs compiled<br />
----------------------------------------------------------<br />
TOTAL: 97/97 programs compiled<br />
----------------------------------------------------------<br />
Binaries are located in directory:<br />
~/diva-4.6.2/DIVA3D/bin<br />
<br />
=== Windows ===<br />
<br />
To compile the code under windows, you need to install [http://cygwin.com/install.html cygwin], a Linux-like environment for Windows.<br />
<br />
The installation or update of cygwin is done by running the '''setup.exe''' executable. It is recommended to install:<br />
<br />
* g77, a Fortran 77 compiler <br />
* [http://gcc.gnu.org/wiki/GFortran/ gfortran], a Fortran 95 compiler . You may have to install it from http://gfortran.com/download/cygwin/, since it is not available through the cygwin installer.<br />
* Xterm, the X11 terminal emulator.<br />
* gmp, mpfr, and mpc libraries<br />
* dos2unix<br />
* bc<br />
* The [http://www.unidata.ucar.edu/downloads/netcdf/index.jsp NetCDF] library (select the package called libnetcdf-fortran-devel). The library is available in the cygwin installer, but does not properly work in all cases (and you must add the library '''nclib=/usr/lib/libnetcdff.dll.a''' into the compiling options). When trying to make the cygwin netcdt library to work, you might need to use '''cygcheck netcdfoutput.a''' to see which libraries are still missing (in our case sasl) and therefore to install with the cygwin installer. Make sure you have a recent Gfortran compiler compatible with the netCDF version.<br />
<br />
If you need to install nectCDF from source, proceed as follows. We used version 3.6.3, which does not require hdf5 library. The installation was performed with commands:<br />
cd directory_containing_netcdf3.6.3<br />
./configure --disable-cc<br />
make<br />
make install<br />
<br />
The second line means that the library will not be build for c++ (not necessary in the case of Diva).<br />
<br />
[[File:InstallCygwin1.png|500px|left]]<br />
<br />
[[File:InstallCygwin2.png|500px|left]]<br />
<br />
<br style="clear: both" /><br />
<br />
== Run a test case ==<br />
<br />
* Go into ''divastripped'' directory:<br />
cd path_to_divastripped<br />
* Execute the script divatest:<br />
divatest<br />
* Check you results: they should look like this (here viewed with ncview): <br />
<br />
[[Image:Diva test results.png|550px|center]]<br />
<br />
<br />
Further tests provided are <br />
divatest0 <br />
and <br />
divabigtest <br />
for testing finer meshes. Finally <br />
divatesterror <br />
is provided for checking all error calculation possibilities.<br />
<br />
== Possible issues ==<br />
<br />
=== Command not found ===<br />
<br />
In case of ''command not found'' message, you may have to type<br />
export PATH=$PATH:.<br />
<br />
So if you need to type ./divacalc or similar things in a directory where divacalc is present, make sure to expand your path as shown above to be able use local scripts and programs<br />
<br />
=== Problem with awk ===<br />
<br />
By default Ubuntu comes with [http://invisible-island.net/mawk/ mawk], which has a different behavior when interpreting [http://www.gnu.org/software/gawk/manual/gawk.html awk]. In that case, the test will fail, and you will get an error like<br />
error message<br />
<br />
To solve this problem, it is only necessary to install [http://www.gnu.org/software/gawk/ gawk]. The problem was previously reported for other programs, ''e.g.'', http://lists.netisland.net/archives/plug/plug-2008-09/msg00071.html.<br />
<br />
Running <tt>divatest</tt> will try to test if you have the correct gawk version<br />
<br />
<br />
== NetCDF issues ==<br />
<br />
=== Incompatible versions ===<br />
<br />
Error message:<br />
<br />
Cannot read module file 'netcdf.mod' opened at (1), because it was created by a different version of GNU Fortran<br />
<br />
All libraries and DIVA must be compiled with the same compiler and same compiler version. If Cygwin upgrades its compiler, then the cygwin installation must be updated. The inconsistency might also arise if you compile NetCDF from source and the compiler is updated. The NetCDF source code has to be recompiled in this case.<br />
<br />
=== Missing module file (.mod) ===<br />
<br />
Error message:<br />
<br />
Can't open module file 'netcdf.mod' for reading at (1): No such file or directory<br />
<br />
Check if libnetcdf-fortran-devel (cygwin) or libnetcdf-dev (ubuntu) is installed. This file should be in /usr/include (sometimes in upper-case e.g. NETCDF.mod).<br />
If NetCDF is compiled from source, then the location might be different.<br />
<br />
</div><br />
<br />
[[Category : compiling]]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/NetCDF_format
NetCDF format
2016-10-04T12:14:21Z
<p>Jmb: /* Visualization of NetCDF files */</p>
<hr />
<div>NetCDF stands for Network Common Data Form. It is self-describing, machine-independent data format, frequently used in ocean and atmospheric sciences.<br />
<br />
== General ==<br />
<br />
* Home page: http://www.unidata.ucar.edu/software/netcdf/<br />
* What is NetCDF: http://www.unidata.ucar.edu/software/netcdf/docs/faq.html#whatisit<br />
<br />
== Visualization of NetCDF files ==<br />
<br />
There are several ways to have a quick view of the content of a NetCDF file:<br />
<br />
* [http://www.epic.noaa.gov/java/ncBrowse/ ncBrowse] (very easy to install on any platform, if you can get hands on the installer software; the ftp site seems to be down)<br />
* [http://meteora.ucsd.edu/~pierce/ncview_home_page.html Ncview] (easy on Linux, tricky on Windows), installation detailed [http://modb.oce.ulg.ac.be/mediawiki/index.php/NcView here]<br />
* [http://ferret.pmel.noaa.gov/Ferret/ Ferret]: an interactive computer visualization and analysis environment.<br />
* [http://odv.awi.de/ ODV]: lets you explore and visualize CF, COARDS, GDT and CDC compliant netCDF datasets.<br />
* [http://www.giss.nasa.gov/tools/panoply/ Panoply]: the NASA data viewer for netCDF, HDF and GRIB data.<br />
<br />
== Installation of the NetCDF library ==<br />
<br />
=== Use a package manager to download libraries ===<br />
<br />
This approach is generally the easiest one provided you find a library which was compiled with the same compile you plan to use (gnu gfortran for example). Make sure you install development libraries and Fortran interface libraries. If this approach does not work you will need to compile netCDF yourself as explained in the following<br />
<br />
<br />
=== Download the sources if you do not find libraries ===<br />
<br />
<br />
The following instructions describe the installation of the NetCDF 4 library, with the [http://www.hdfgroup.org/HDF5/ HDF5] storage format.<br />
<br />
The installation of the packages and libraries was performed on '''nic3''' in the directory'' /u/mc'' and on the computer '''gher01''' in the directory ''/usr/local''.<br />
<br />
<br />
* Download the NetCDF sources from Unidata webpage:<br />
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf.tar.gz<br />
<br />
* Extract the archive:<br />
tar -xvf netcdf.tar.gz<br />
<br />
==== Compilation with Intel Compilers ====<br />
<br />
Intel compilers are available for free non-commercial download at http://software.intel.com/en-us/articles/non-commercial-software-download/<br />
<br />
==== Install HDF5 and zlib packages ====<br />
<br />
* Download:<br />
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/hdf5-1.8.13.tar.gz<br />
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/zlib-1.2.8.tar.gz<br />
<br />
* Extract the archives:<br />
tar -xvf hdf5-1.8.13.tar.gz<br />
tar -xvf zlib-1.2.8.tar.gz<br />
<br />
* Install '''zlib''' first<br />
<br />
cd /u/mc/zlib-1.2.8<br />
./configure --prefix=/u/mc<br />
make<br />
make install<br />
<br />
* Install '''HDF5'''<br />
<br />
cd /u/mc/hdf5-1.8.13<br />
./configure --prefix=/u/mc<br />
make<br />
make check<br />
make install<br />
<br />
'''Notes:'''<br />
# if you want to be sure to have the last version of zlib and hdf5, check ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/<br />
# that the '''make''' operation can take quite a long time.<br />
# replace /u/mc by /usr/local (or something else) for an installation on you machine<br />
<br />
==== Compile ====<br />
<br />
* Specify the compilation options you want:<br />
export CC=icc<br />
export FC=ifort<br />
* Launch the configuration<br />
./configure --enable-netcdf-4 --with-hdf5=/u/mc/ --with-zlib=/u/mc/ --prefix=/u/mc/<br />
where /u/mc can be replaced by the location you want.<br />
<br />
* Run the tests<br />
make check<br />
Note that some of the tests may fail, but usually that is not a problem.<br />
<br />
* Perform the installation<br />
make install<br />
Once the installation is performed, new directories will appear in /u/mc:<br />
*bin/<br />
*include/<br />
*lib/<br />
*share/<br />
<br />
In particular, the netcdf library is located in lib:<br />
nick3:/u/mc$ ls lib/<br />
libhdf5.a libhdf5_hl.so libhdf5.la libhdf5.so.6 libnetcdf_c++.a libz.a<br />
libhdf5_hl.a libhdf5_hl.so.0 libhdf5.settings libhdf5.so.6.0.1 libnetcdf_c++.la pkgconfig<br />
libhdf5_hl.la libhdf5_hl.so.0.0.0 libhdf5.so libnetcdf.a libnetcdf.la<br />
<br />
==== Compilation with gcc ==== <br />
<br />
sudo aptitude install libhdf4-dev libhdf5-serial-dev <br />
./configure --enable-hdf4 --enable-cxx-4 --with-udunits --with-pic<br />
make <br />
sudo make install<br />
<br />
<br />
==== Failed options ====<br />
<br />
;--with-libcf:<br />
*** No rule to make target `../../libsrc/libnetcdf.la', needed by `cfcheck'. Stop.<br />
;--enable-netcdf4:<br />
<br />
*** Testing HDF4/NetCDF-4 interoperability...<br />
/bin/bash: line 5: 28738 Segmentation fault ${dir}$tst<br />
FAIL: tst_interops2<br />
================================================<br />
1 of 60 tests failed<br />
================================================<br />
<br />
== Operations on NetCDF files ==<br />
<br />
=== ncdump ===<br />
<br />
The command '''ncdump''' allows the user to examine the content of a NetCDF file.<br />
<br />
Examples are available here: http://www.unidata.ucar.edu/software/netcdf/workshops/2011/utilities/NcdumpExamples.html<br />
<br />
==== Display header information ====<br />
<br />
ncdump -h time file.nc<br />
<br />
==== Display a given variable ====<br />
<br />
ncdump -v time file.nc<br />
<br />
=== netCDF Operator (NCO) ===<br />
<br />
NetCDF Operator ([http://nco.sourceforge.net/ NCO]) is a set of command-line programs that take netCDF files as input and perform operations on their content.<br />
<br />
=== Ncclamp ===<br />
<br />
[http://ncclamp.sourceforge.net/ ncclamp] is another command-line tool for the replacement of values in files.<br />
<br />
Note that you may have to modify the '''makefile''' before compilation of the code.<br />
<br />
ncclamp northsea_TSM.nc TSM nan -999 eq<br />
replaces all the NaN's by -999<br />
<br />
=== CDO ===<br />
<br />
[https://code.zmaw.de/projects/cdo CDO] stands for Climate Data Operator. A collection of command line Operators to manipulate and analyse Climate and NWP model Data.</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DIVA
DIVA
2016-09-04T12:19:16Z
<p>Jmb: /* Matlab */</p>
<hr />
<div><div style="float: left; text-align:justify;width: 55%"><br />
DIVA (Data-Interpolating Variational Analysis) allows the spatial interpolation of data (''analysis'') in an optimal way, comparable to optimal interpolation (OI). In comparison to OI it takes into account coastlines, sub-basins and advection. Calculations are highly optimized and rely on a finite element resolution. Tools to generate the finite element mesh are provided as well as tools to optimize the parameters of the analysis. Quality control of data can be performed and error fields can be calculated. Also detrending of data is possible. Finally 3D and 4D extensions are included with emphasis on direct computations of climatologies from [http://odv.awi.de/ ODV] spreadsheet files.<br />
<br />
The DIVA development has received funding from the European Union Sixth Framework Programme (FP6/2002-2006) under grant agreement n° 026212, SeaDataNet, Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 283607, [http://www.seadatanet.org/ SeaDataNet SeaDataNet II], and project EMODNet (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries. <br />
<br />
</div><div style="float: right; width: 45%"><br />
[[File:Logo_diva_1500.png|frameless|center|400px]] <br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
<br />
== In a few words == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is a software developed for gridding in situ data. <br />
<br />
It uses a [http://en.wikipedia.org/wiki/Finite_element_method finite-element method] to solve a variational principle which takes into account<br />
# the distance between analysis and data (''observation constraint''),<br />
# the regularity of the analysis (''smoothness constraint''),<br />
# physical laws (''behaviour constraint'').<br />
<br />
The advantage of the method over classic interpolation methods is multiple:<br />
* the coastline are taken into account during the analysis, since the variational principle is solved only in the region covered by the sea. This prevents the information from traveling across boundaries (''e.g.'', peninsula, islands, ''etc'') and then produce artificial mixing between water masses.<br />
* the numerical cost is not dependent on the number of data, but on the number of degrees of freedom, itself related to the size of the finite-element mesh.<br />
<br />
</div><div style="float: right; width: 40%"><br />
[[Image:diva_gridding_canary.png|thumb|center|400px||In situ measurement and gridded field obtained using September temperature at 50 m in the Canary Island area.]]<br />
<br/><br />
<br />
<br />
</div><br />
<br style="clear: both" /><br />
<br />
== How to get the code? == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is copyright © 2006-2014 by the GHER group and is distributed under the terms of the<br />
GNU General Public License (GPLv3 or later) http://www.gnu.org/copyleft/gpl.html or EUPL1.1 (or later) https://joinup.ec.europa.eu/software/page/eupl left as a choice to the user.<br />
<br />
* '''Latest version''' (June 2016): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.7.1.tgz diva-4.7.1.tgz] <br />
'''Note:''' Before compiling with divacompileall, please don't forget to modify the "divacompile_options" file.<br />
<br />
The binaries for various O.S. are also provided:<br><br />
'''Mac O.S.:''' [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_macOS_4.6.2.zip binaries_macOS_4.6.2.zip]<br> <br />
(thanks to F. Laenen, Observatoire de la Côte d'Azur, France)<br><br />
'''Linux''' Mint 14 Nadia (Debian, x86_64): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_Linux64_4.6.2.zip binaries_Linux64_4.6.2.zip]<br />
<br />
* [[New_Diva_Features|'''New features''']] in the latest version and history of changes<br />
* Previous releases: [[Diva_old_versions|here]]<br />
<br />
The code runs preferentially with Linux operating systems, but can also be used under Windows, provided a unix-like environment is installed ([http://www.cygwin.com/ Cygwin], [http://www.mingw.org/wiki/MSYS Msys], ...).<br />
<br />
The binary sources can be provided for several platforms, but if the code has to be re-compiled, then a Fortran compiler ([http://gcc.gnu.org/wiki/GFortran gfortran], [http://software.intel.com/en-us/articles/intel-compilers/ ifort], [http://www.pgroup.com/ pgi]) is needed, along with the [http://www.unidata.ucar.edu/software/netcdf/ NetCDF] library if this format is to be used for the outputs.<br />
<br />
We also recommend you to register on the [http://groups.google.com/group/diva_users Diva Users Group].<br />
<br />
[[Diva_installation|Diva_installation]]: for more details about the installation.<br />
<br />
* The '''manual and documentation''' are available [http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_documents here]. In case of any inconsistency between documents, the latest user guide prevails. <br />
<br />
* '''New: Diva on Virtualbox.''' You can also download a "clone" of a virtual box containing diva-4.6.11 and all the stuff needed to run it ([http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/Diva-4.6.11_Clone.tgz Diva-4.6.11_Clone.tgz] (2.6 Go)). Diva is already compiled, you just have to install the software VirtualBox on your system, as explained here : [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/virtualbox.pdf virtualbox.pdf]<br />
<br />
* A simple '''matlab''' interface for basic operations is available here : [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
* A tool to generate '''xml''' files is available here : [http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divadoxml-gui/?C=M;O=D divadoxml-gui]<br />
</div><div style="float: left; width: 45%"><br />
[[File:diva46.png|frameless|super|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== How to try DIVA without installing ? ==<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
If you are familiar with Ocean Data View ([http://odv.awi.de ODV]) you can access DIVA gridding when plotting vertical or horizontal sections as the other 25000 scientists using ODV.<br />
<br />
You can also use basic DIVA features in a web application [http://gher-diva.phys.ulg.ac.be/web-vis/diva.html Diva on Web] if you have your data ready in a simple three-column ascii file or ODV ascii spreadsheet format.<br />
<br />
If you are familiar with Matlab, some basic interface is provided here: [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:Divaonweb.png|frameless|super|right|350px]]<br />
<br />
</div><br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== User workshops ==<br />
<br />
<div style="float: left; width: 55%"><br />
Since 2006, we organize a workshop for the users, principally members of the region groups responsible for the climatology production in [http://www.seadatanet.org/ SeaDataNet]. During these workshop, several experts are present to help newcomers, but also latest developments are presented for advanced users. Generally a wish-list from users is established at the end of the workshop. Please contact us if you are interested in attending.<br />
<br />
*'''Next workshop:''' 3-8th October 2016 : [[Diva_workshop_2016_Roumaillac]]<br />
<br />
*'''Last workshop:''' 9-14th October 2015 : [[Diva_workshop_2015_Stareso]]<br />
<br />
*10th workshop: 3-7 November 2014 : [[Diva_workshop_2014_Stareso]]<br />
<br />
*9th workshop: 4-8 November 2013: [[Diva_workshop_2013_Stareso]]<br />
<br />
*[[Previous_workshops|Previous_workshops]]: information about the previous workshops.<br />
<!--[[Diva_workshop_2012|Diva_workshop_2012]]--><br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:cartelDIVA.jpg|frameless|super|right|250px]]<br />
<br />
</div><br />
<br />
== The method == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
In oceanography, a typical concern consists in determining a field on a regular grid of positions '''r''' knowing N;<sub>d</sub> data in locations '''r<sub>j</sub>''', j=1,..., N<sub>d</sub>. This is called the ''gridding problem'' and is useful for many applications such as data analysis, graphical display, forcing or initialization of a model.<br />
<br />
It is designed to solve 2-D differential or variational problems of elliptic type with a finite element method. Its end is to obtain a gridded field from the knowledge of sparse data points.<br />
<br />
You can discover more details about the method here: [[DIVA_method|DIVA_method]]<br />
</div><div style="float: left; width: 45%"><br />
[[File:Gridding2.png|frameless|super|right|250px]]<br />
</div><br />
<br />
== Publications & documents == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
* [[Diva_publications|Related publications]]: a list of publications where Diva is described or employed to generate gridded fields.<br />
<br />
* [[Diva_documents|Documents]]: user manuals, presentations and posters.<br />
<br />
* [[Diva_applications|Applications]]: examples of climatologies from region groups of [http://www.seadatanet.org/ SeaDataNet]. <br />
<br />
* [[Diva_FAQ|FAQ]]<br />
<br />
* [[Diva_Problems_and_solutions|Problems and solutions]]<br />
<br />
* '''How to cite?''' <br />
<br />
<html><br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28title%3AGeneration+title%3Aof+title%3Aanalysis+title%3Aand+title%3Aconsistent+title%3Aerror+title%3A%EF%AC%81elds+title%3Ausing+title%3Athe+title%3AData+title%3AInterpolating+title%3AVariational+title%3AAnalysis+title%3A%28Diva%29%29%29+AND+%28%28type%3A%23A01%29%29&amp;chars=0&amp;list=1&amp;language=en&amp;data=&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" scrolling="no" width="450" frameborder="0" height="150"></iframe><br />
</html><br />
<br />
BibTeX entry:<br />
<br />
@ARTICLE{TROUPIN2012OM,<br />
author = {Troupin, C. and Barth, A. and Sirjacobs, D. and Ouberdous, M. and <br />
Brankart, J.-M. and Brasseur, P. and Rixen, M. and Alvera-Azc\'{a}rate, A. and <br />
Belounis, M. and Capet, A. and Lenartz, F. and Toussaint, M.-E. and Beckers, J.-M.},<br />
title = {Generation of analysis and consistent error fields using the Data<br />
Interpolating Variational Analysis (Diva)},<br />
journal = Ocean Modelling,<br />
year = {2012},<br />
volume = {52-53},<br />
pages = {90-101},<br />
doi = {10.1016/j.ocemod.2012.05.002},<br />
url = {http://www.sciencedirect.com/science/article/pii/S1463500312000790 }<br />
}<br />
<br />
* '''How to acknowledge?'''<br />
<br />
''The research leading to the last developments of DIVA has received funding from the European Union Seventh Framework Programme (FP7/2007-2013) under grant agreement No. 283607, SeaDataNet 2, and from the project EMODNET (MARE/2012/10 - Lot 4 Chemistry - SI2.656742) from the Directorate-General for Maritime Affairs and Fisheries.''<br />
<br />
</div><div style="float: left; text-align:justify;width: 45%"><br />
[[File:Diva_publi.png|frameless|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== Plotting tools ==<br />
<br />
=== Matlab ===<br />
<br />
* Some scripts in matlab for helping in the preparation of figures: [[Diva_matlab|Diva_matlab]]<br />
<br />
* For calculating within matlab, some basic interface is [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip] (now with linux, windows and macOS binaries)<br />
<br />
<br style="clear: both" /><br />
<br />
[[File:Psal_00_12.png|frameless|200px]] [[File:Diva_oi_09_10030analysisDIVA_contour.png|frameless|250px]] [[File:BlackSeaOxyField2.png|frameless|250px]]<br />
<br />
=== Python ===<br />
<br />
[http://www.python.org/ Python] is a object-oriented, free to use, programming language. It is directly available through the package manager of recent Linux distributions.<br />
<br />
* Some scripts in python for helping in the preparation of figures: [[Diva_python|Diva_python]]<br />
<br />
== Products ==<br />
<br />
DIVA has been used to prepare several regional climatologies.<br />
<br />
The results can be found in [[Diva_products|Diva Products]]<br />
<br />
== Quality control of products == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
The issue of the quality of the products has been addressed by the EC. This page deals with the successive steps that have to be followed in order to ensure the quality of the products generated by the application of DIVA.<br />
<br />
[[Diva_QC|Quality control of products]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== Testing new versions == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Every time a significant modification is made to the source code, a set of tests have to be performed to insure that no error was introduced. <br />
These tests will be described in the following page and only concern Diva developers or beta testers: [[Diva_testing|Testing new versions]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
<br />
<br />
[[Category : Diva]]<br />
<br />
== SVN commands for Diva == <br />
<br />
A list of commands used to manage the subversions of Diva, also only for developers or beta testers<br />
<br />
[[Diva_SVN|SVN commands for Diva]]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DIVA
DIVA
2016-09-04T11:57:20Z
<p>Jmb: /* User workshops */</p>
<hr />
<div><div style="float: left; text-align:justify;width: 55%"><br />
DIVA (Data-Interpolating Variational Analysis) allows the spatial interpolation of data (''analysis'') in an optimal way, comparable to optimal interpolation (OI). In comparison to OI it takes into account coastlines, sub-basins and advection. Calculations are highly optimized and rely on a finite element resolution. Tools to generate the finite element mesh are provided as well as tools to optimize the parameters of the analysis. Quality control of data can be performed and error fields can be calculated. Also detrending of data is possible. Finally 3D and 4D extensions are included with emphasis on direct computations of climatologies from [http://odv.awi.de/ ODV] spreadsheet files.<br />
<br />
The DIVA development has received funding from the European Union Sixth Framework Programme (FP6/2002-2006) under grant agreement n° 026212, SeaDataNet, Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 283607, [http://www.seadatanet.org/ SeaDataNet SeaDataNet II], and project EMODNet (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries. <br />
<br />
</div><div style="float: right; width: 45%"><br />
[[File:Logo_diva_1500.png|frameless|center|400px]] <br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
<br />
== In a few words == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is a software developed for gridding in situ data. <br />
<br />
It uses a [http://en.wikipedia.org/wiki/Finite_element_method finite-element method] to solve a variational principle which takes into account<br />
# the distance between analysis and data (''observation constraint''),<br />
# the regularity of the analysis (''smoothness constraint''),<br />
# physical laws (''behaviour constraint'').<br />
<br />
The advantage of the method over classic interpolation methods is multiple:<br />
* the coastline are taken into account during the analysis, since the variational principle is solved only in the region covered by the sea. This prevents the information from traveling across boundaries (''e.g.'', peninsula, islands, ''etc'') and then produce artificial mixing between water masses.<br />
* the numerical cost is not dependent on the number of data, but on the number of degrees of freedom, itself related to the size of the finite-element mesh.<br />
<br />
</div><div style="float: right; width: 40%"><br />
[[Image:diva_gridding_canary.png|thumb|center|400px||In situ measurement and gridded field obtained using September temperature at 50 m in the Canary Island area.]]<br />
<br/><br />
<br />
<br />
</div><br />
<br style="clear: both" /><br />
<br />
== How to get the code? == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is copyright © 2006-2014 by the GHER group and is distributed under the terms of the<br />
GNU General Public License (GPLv3 or later) http://www.gnu.org/copyleft/gpl.html or EUPL1.1 (or later) https://joinup.ec.europa.eu/software/page/eupl left as a choice to the user.<br />
<br />
* '''Latest version''' (June 2016): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.7.1.tgz diva-4.7.1.tgz] <br />
'''Note:''' Before compiling with divacompileall, please don't forget to modify the "divacompile_options" file.<br />
<br />
The binaries for various O.S. are also provided:<br><br />
'''Mac O.S.:''' [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_macOS_4.6.2.zip binaries_macOS_4.6.2.zip]<br> <br />
(thanks to F. Laenen, Observatoire de la Côte d'Azur, France)<br><br />
'''Linux''' Mint 14 Nadia (Debian, x86_64): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_Linux64_4.6.2.zip binaries_Linux64_4.6.2.zip]<br />
<br />
* [[New_Diva_Features|'''New features''']] in the latest version and history of changes<br />
* Previous releases: [[Diva_old_versions|here]]<br />
<br />
The code runs preferentially with Linux operating systems, but can also be used under Windows, provided a unix-like environment is installed ([http://www.cygwin.com/ Cygwin], [http://www.mingw.org/wiki/MSYS Msys], ...).<br />
<br />
The binary sources can be provided for several platforms, but if the code has to be re-compiled, then a Fortran compiler ([http://gcc.gnu.org/wiki/GFortran gfortran], [http://software.intel.com/en-us/articles/intel-compilers/ ifort], [http://www.pgroup.com/ pgi]) is needed, along with the [http://www.unidata.ucar.edu/software/netcdf/ NetCDF] library if this format is to be used for the outputs.<br />
<br />
We also recommend you to register on the [http://groups.google.com/group/diva_users Diva Users Group].<br />
<br />
[[Diva_installation|Diva_installation]]: for more details about the installation.<br />
<br />
* The '''manual and documentation''' are available [http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_documents here]. In case of any inconsistency between documents, the latest user guide prevails. <br />
<br />
* '''New: Diva on Virtualbox.''' You can also download a "clone" of a virtual box containing diva-4.6.11 and all the stuff needed to run it ([http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/Diva-4.6.11_Clone.tgz Diva-4.6.11_Clone.tgz] (2.6 Go)). Diva is already compiled, you just have to install the software VirtualBox on your system, as explained here : [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/virtualbox.pdf virtualbox.pdf]<br />
<br />
* A simple '''matlab''' interface for basic operations is available here : [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
* A tool to generate '''xml''' files is available here : [http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divadoxml-gui/?C=M;O=D divadoxml-gui]<br />
</div><div style="float: left; width: 45%"><br />
[[File:diva46.png|frameless|super|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== How to try DIVA without installing ? ==<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
If you are familiar with Ocean Data View ([http://odv.awi.de ODV]) you can access DIVA gridding when plotting vertical or horizontal sections as the other 25000 scientists using ODV.<br />
<br />
You can also use basic DIVA features in a web application [http://gher-diva.phys.ulg.ac.be/web-vis/diva.html Diva on Web] if you have your data ready in a simple three-column ascii file or ODV ascii spreadsheet format.<br />
<br />
If you are familiar with Matlab, some basic interface is provided here: [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:Divaonweb.png|frameless|super|right|350px]]<br />
<br />
</div><br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== User workshops ==<br />
<br />
<div style="float: left; width: 55%"><br />
Since 2006, we organize a workshop for the users, principally members of the region groups responsible for the climatology production in [http://www.seadatanet.org/ SeaDataNet]. During these workshop, several experts are present to help newcomers, but also latest developments are presented for advanced users. Generally a wish-list from users is established at the end of the workshop. Please contact us if you are interested in attending.<br />
<br />
*'''Next workshop:''' 3-8th October 2016 : [[Diva_workshop_2016_Roumaillac]]<br />
<br />
*'''Last workshop:''' 9-14th October 2015 : [[Diva_workshop_2015_Stareso]]<br />
<br />
*10th workshop: 3-7 November 2014 : [[Diva_workshop_2014_Stareso]]<br />
<br />
*9th workshop: 4-8 November 2013: [[Diva_workshop_2013_Stareso]]<br />
<br />
*[[Previous_workshops|Previous_workshops]]: information about the previous workshops.<br />
<!--[[Diva_workshop_2012|Diva_workshop_2012]]--><br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:cartelDIVA.jpg|frameless|super|right|250px]]<br />
<br />
</div><br />
<br />
== The method == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
In oceanography, a typical concern consists in determining a field on a regular grid of positions '''r''' knowing N;<sub>d</sub> data in locations '''r<sub>j</sub>''', j=1,..., N<sub>d</sub>. This is called the ''gridding problem'' and is useful for many applications such as data analysis, graphical display, forcing or initialization of a model.<br />
<br />
It is designed to solve 2-D differential or variational problems of elliptic type with a finite element method. Its end is to obtain a gridded field from the knowledge of sparse data points.<br />
<br />
You can discover more details about the method here: [[DIVA_method|DIVA_method]]<br />
</div><div style="float: left; width: 45%"><br />
[[File:Gridding2.png|frameless|super|right|250px]]<br />
</div><br />
<br />
== Publications & documents == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
* [[Diva_publications|Related publications]]: a list of publications where Diva is described or employed to generate gridded fields.<br />
<br />
* [[Diva_documents|Documents]]: user manuals, presentations and posters.<br />
<br />
* [[Diva_applications|Applications]]: examples of climatologies from region groups of [http://www.seadatanet.org/ SeaDataNet]. <br />
<br />
* [[Diva_FAQ|FAQ]]<br />
<br />
* [[Diva_Problems_and_solutions|Problems and solutions]]<br />
<br />
* '''How to cite?''' <br />
<br />
<html><br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28title%3AGeneration+title%3Aof+title%3Aanalysis+title%3Aand+title%3Aconsistent+title%3Aerror+title%3A%EF%AC%81elds+title%3Ausing+title%3Athe+title%3AData+title%3AInterpolating+title%3AVariational+title%3AAnalysis+title%3A%28Diva%29%29%29+AND+%28%28type%3A%23A01%29%29&amp;chars=0&amp;list=1&amp;language=en&amp;data=&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" scrolling="no" width="450" frameborder="0" height="150"></iframe><br />
</html><br />
<br />
BibTeX entry:<br />
<br />
@ARTICLE{TROUPIN2012OM,<br />
author = {Troupin, C. and Barth, A. and Sirjacobs, D. and Ouberdous, M. and <br />
Brankart, J.-M. and Brasseur, P. and Rixen, M. and Alvera-Azc\'{a}rate, A. and <br />
Belounis, M. and Capet, A. and Lenartz, F. and Toussaint, M.-E. and Beckers, J.-M.},<br />
title = {Generation of analysis and consistent error fields using the Data<br />
Interpolating Variational Analysis (Diva)},<br />
journal = Ocean Modelling,<br />
year = {2012},<br />
volume = {52-53},<br />
pages = {90-101},<br />
doi = {10.1016/j.ocemod.2012.05.002},<br />
url = {http://www.sciencedirect.com/science/article/pii/S1463500312000790 }<br />
}<br />
<br />
* '''How to acknowledge?'''<br />
<br />
''The research leading to the last developments of DIVA has received funding from the European Union Seventh Framework Programme (FP7/2007-2013) under grant agreement No. 283607, SeaDataNet 2, and from the project EMODNET (MARE/2012/10 - Lot 4 Chemistry - SI2.656742) from the Directorate-General for Maritime Affairs and Fisheries.''<br />
<br />
</div><div style="float: left; text-align:justify;width: 45%"><br />
[[File:Diva_publi.png|frameless|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== Plotting tools ==<br />
<br />
=== Matlab ===<br />
<br />
* Some scripts in matlab for helping in the preparation of figures: [[Diva_matlab|Diva_matlab]]<br />
<br />
* For calculating within matlab, some basic interface is [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br style="clear: both" /><br />
<br />
[[File:Psal_00_12.png|frameless|200px]] [[File:Diva_oi_09_10030analysisDIVA_contour.png|frameless|250px]] [[File:BlackSeaOxyField2.png|frameless|250px]]<br />
<br />
=== Python ===<br />
<br />
[http://www.python.org/ Python] is a object-oriented, free to use, programming language. It is directly available through the package manager of recent Linux distributions.<br />
<br />
* Some scripts in python for helping in the preparation of figures: [[Diva_python|Diva_python]]<br />
<br />
== Products ==<br />
<br />
DIVA has been used to prepare several regional climatologies.<br />
<br />
The results can be found in [[Diva_products|Diva Products]]<br />
<br />
== Quality control of products == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
The issue of the quality of the products has been addressed by the EC. This page deals with the successive steps that have to be followed in order to ensure the quality of the products generated by the application of DIVA.<br />
<br />
[[Diva_QC|Quality control of products]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== Testing new versions == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Every time a significant modification is made to the source code, a set of tests have to be performed to insure that no error was introduced. <br />
These tests will be described in the following page and only concern Diva developers or beta testers: [[Diva_testing|Testing new versions]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
<br />
<br />
[[Category : Diva]]<br />
<br />
== SVN commands for Diva == <br />
<br />
A list of commands used to manage the subversions of Diva, also only for developers or beta testers<br />
<br />
[[Diva_SVN|SVN commands for Diva]]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DIVA
DIVA
2016-09-04T11:54:59Z
<p>Jmb: /* User workshops */</p>
<hr />
<div><div style="float: left; text-align:justify;width: 55%"><br />
DIVA (Data-Interpolating Variational Analysis) allows the spatial interpolation of data (''analysis'') in an optimal way, comparable to optimal interpolation (OI). In comparison to OI it takes into account coastlines, sub-basins and advection. Calculations are highly optimized and rely on a finite element resolution. Tools to generate the finite element mesh are provided as well as tools to optimize the parameters of the analysis. Quality control of data can be performed and error fields can be calculated. Also detrending of data is possible. Finally 3D and 4D extensions are included with emphasis on direct computations of climatologies from [http://odv.awi.de/ ODV] spreadsheet files.<br />
<br />
The DIVA development has received funding from the European Union Sixth Framework Programme (FP6/2002-2006) under grant agreement n° 026212, SeaDataNet, Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 283607, [http://www.seadatanet.org/ SeaDataNet SeaDataNet II], and project EMODNet (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries. <br />
<br />
</div><div style="float: right; width: 45%"><br />
[[File:Logo_diva_1500.png|frameless|center|400px]] <br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
<br />
== In a few words == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is a software developed for gridding in situ data. <br />
<br />
It uses a [http://en.wikipedia.org/wiki/Finite_element_method finite-element method] to solve a variational principle which takes into account<br />
# the distance between analysis and data (''observation constraint''),<br />
# the regularity of the analysis (''smoothness constraint''),<br />
# physical laws (''behaviour constraint'').<br />
<br />
The advantage of the method over classic interpolation methods is multiple:<br />
* the coastline are taken into account during the analysis, since the variational principle is solved only in the region covered by the sea. This prevents the information from traveling across boundaries (''e.g.'', peninsula, islands, ''etc'') and then produce artificial mixing between water masses.<br />
* the numerical cost is not dependent on the number of data, but on the number of degrees of freedom, itself related to the size of the finite-element mesh.<br />
<br />
</div><div style="float: right; width: 40%"><br />
[[Image:diva_gridding_canary.png|thumb|center|400px||In situ measurement and gridded field obtained using September temperature at 50 m in the Canary Island area.]]<br />
<br/><br />
<br />
<br />
</div><br />
<br style="clear: both" /><br />
<br />
== How to get the code? == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is copyright © 2006-2014 by the GHER group and is distributed under the terms of the<br />
GNU General Public License (GPLv3 or later) http://www.gnu.org/copyleft/gpl.html or EUPL1.1 (or later) https://joinup.ec.europa.eu/software/page/eupl left as a choice to the user.<br />
<br />
* '''Latest version''' (June 2016): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.7.1.tgz diva-4.7.1.tgz] <br />
'''Note:''' Before compiling with divacompileall, please don't forget to modify the "divacompile_options" file.<br />
<br />
The binaries for various O.S. are also provided:<br><br />
'''Mac O.S.:''' [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_macOS_4.6.2.zip binaries_macOS_4.6.2.zip]<br> <br />
(thanks to F. Laenen, Observatoire de la Côte d'Azur, France)<br><br />
'''Linux''' Mint 14 Nadia (Debian, x86_64): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_Linux64_4.6.2.zip binaries_Linux64_4.6.2.zip]<br />
<br />
* [[New_Diva_Features|'''New features''']] in the latest version and history of changes<br />
* Previous releases: [[Diva_old_versions|here]]<br />
<br />
The code runs preferentially with Linux operating systems, but can also be used under Windows, provided a unix-like environment is installed ([http://www.cygwin.com/ Cygwin], [http://www.mingw.org/wiki/MSYS Msys], ...).<br />
<br />
The binary sources can be provided for several platforms, but if the code has to be re-compiled, then a Fortran compiler ([http://gcc.gnu.org/wiki/GFortran gfortran], [http://software.intel.com/en-us/articles/intel-compilers/ ifort], [http://www.pgroup.com/ pgi]) is needed, along with the [http://www.unidata.ucar.edu/software/netcdf/ NetCDF] library if this format is to be used for the outputs.<br />
<br />
We also recommend you to register on the [http://groups.google.com/group/diva_users Diva Users Group].<br />
<br />
[[Diva_installation|Diva_installation]]: for more details about the installation.<br />
<br />
* The '''manual and documentation''' are available [http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_documents here]. In case of any inconsistency between documents, the latest user guide prevails. <br />
<br />
* '''New: Diva on Virtualbox.''' You can also download a "clone" of a virtual box containing diva-4.6.11 and all the stuff needed to run it ([http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/Diva-4.6.11_Clone.tgz Diva-4.6.11_Clone.tgz] (2.6 Go)). Diva is already compiled, you just have to install the software VirtualBox on your system, as explained here : [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/virtualbox.pdf virtualbox.pdf]<br />
<br />
* A simple '''matlab''' interface for basic operations is available here : [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
* A tool to generate '''xml''' files is available here : [http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divadoxml-gui/?C=M;O=D divadoxml-gui]<br />
</div><div style="float: left; width: 45%"><br />
[[File:diva46.png|frameless|super|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== How to try DIVA without installing ? ==<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
If you are familiar with Ocean Data View ([http://odv.awi.de ODV]) you can access DIVA gridding when plotting vertical or horizontal sections as the other 25000 scientists using ODV.<br />
<br />
You can also use basic DIVA features in a web application [http://gher-diva.phys.ulg.ac.be/web-vis/diva.html Diva on Web] if you have your data ready in a simple three-column ascii file or ODV ascii spreadsheet format.<br />
<br />
If you are familiar with Matlab, some basic interface is provided here: [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:Divaonweb.png|frameless|super|right|350px]]<br />
<br />
</div><br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== User workshops ==<br />
<br />
<div style="float: left; width: 55%"><br />
Since 2006, we organize a workshop for the users, principally members of the region groups responsible for the climatology production in [http://www.seadatanet.org/ SeaDataNet]. During these workshop, several experts are present to help newcomers, but also latest developments are presented for advanced users. Generally a wish-list from users is established at the end of the workshop. Please contact us if you are interested in attending.<br />
<br />
*'''Next workshop:''' 3-7th October 2016 : [[Diva_workshop_2016_Roumaillac]]<br />
<br />
*'''Last workshop:''' 9-14th October 2015 : [[Diva_workshop_2015_Stareso]]<br />
<br />
*10th workshop: 3-7 November 2014 : [[Diva_workshop_2014_Stareso]]<br />
<br />
*9th workshop: 4-8 November 2013: [[Diva_workshop_2013_Stareso]]<br />
<br />
*[[Previous_workshops|Previous_workshops]]: information about the previous workshops.<br />
<!--[[Diva_workshop_2012|Diva_workshop_2012]]--><br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:cartelDIVA.jpg|frameless|super|right|250px]]<br />
<br />
</div><br />
<br />
== The method == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
In oceanography, a typical concern consists in determining a field on a regular grid of positions '''r''' knowing N;<sub>d</sub> data in locations '''r<sub>j</sub>''', j=1,..., N<sub>d</sub>. This is called the ''gridding problem'' and is useful for many applications such as data analysis, graphical display, forcing or initialization of a model.<br />
<br />
It is designed to solve 2-D differential or variational problems of elliptic type with a finite element method. Its end is to obtain a gridded field from the knowledge of sparse data points.<br />
<br />
You can discover more details about the method here: [[DIVA_method|DIVA_method]]<br />
</div><div style="float: left; width: 45%"><br />
[[File:Gridding2.png|frameless|super|right|250px]]<br />
</div><br />
<br />
== Publications & documents == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
* [[Diva_publications|Related publications]]: a list of publications where Diva is described or employed to generate gridded fields.<br />
<br />
* [[Diva_documents|Documents]]: user manuals, presentations and posters.<br />
<br />
* [[Diva_applications|Applications]]: examples of climatologies from region groups of [http://www.seadatanet.org/ SeaDataNet]. <br />
<br />
* [[Diva_FAQ|FAQ]]<br />
<br />
* [[Diva_Problems_and_solutions|Problems and solutions]]<br />
<br />
* '''How to cite?''' <br />
<br />
<html><br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28title%3AGeneration+title%3Aof+title%3Aanalysis+title%3Aand+title%3Aconsistent+title%3Aerror+title%3A%EF%AC%81elds+title%3Ausing+title%3Athe+title%3AData+title%3AInterpolating+title%3AVariational+title%3AAnalysis+title%3A%28Diva%29%29%29+AND+%28%28type%3A%23A01%29%29&amp;chars=0&amp;list=1&amp;language=en&amp;data=&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" scrolling="no" width="450" frameborder="0" height="150"></iframe><br />
</html><br />
<br />
BibTeX entry:<br />
<br />
@ARTICLE{TROUPIN2012OM,<br />
author = {Troupin, C. and Barth, A. and Sirjacobs, D. and Ouberdous, M. and <br />
Brankart, J.-M. and Brasseur, P. and Rixen, M. and Alvera-Azc\'{a}rate, A. and <br />
Belounis, M. and Capet, A. and Lenartz, F. and Toussaint, M.-E. and Beckers, J.-M.},<br />
title = {Generation of analysis and consistent error fields using the Data<br />
Interpolating Variational Analysis (Diva)},<br />
journal = Ocean Modelling,<br />
year = {2012},<br />
volume = {52-53},<br />
pages = {90-101},<br />
doi = {10.1016/j.ocemod.2012.05.002},<br />
url = {http://www.sciencedirect.com/science/article/pii/S1463500312000790 }<br />
}<br />
<br />
* '''How to acknowledge?'''<br />
<br />
''The research leading to the last developments of DIVA has received funding from the European Union Seventh Framework Programme (FP7/2007-2013) under grant agreement No. 283607, SeaDataNet 2, and from the project EMODNET (MARE/2012/10 - Lot 4 Chemistry - SI2.656742) from the Directorate-General for Maritime Affairs and Fisheries.''<br />
<br />
</div><div style="float: left; text-align:justify;width: 45%"><br />
[[File:Diva_publi.png|frameless|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== Plotting tools ==<br />
<br />
=== Matlab ===<br />
<br />
* Some scripts in matlab for helping in the preparation of figures: [[Diva_matlab|Diva_matlab]]<br />
<br />
* For calculating within matlab, some basic interface is [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br style="clear: both" /><br />
<br />
[[File:Psal_00_12.png|frameless|200px]] [[File:Diva_oi_09_10030analysisDIVA_contour.png|frameless|250px]] [[File:BlackSeaOxyField2.png|frameless|250px]]<br />
<br />
=== Python ===<br />
<br />
[http://www.python.org/ Python] is a object-oriented, free to use, programming language. It is directly available through the package manager of recent Linux distributions.<br />
<br />
* Some scripts in python for helping in the preparation of figures: [[Diva_python|Diva_python]]<br />
<br />
== Products ==<br />
<br />
DIVA has been used to prepare several regional climatologies.<br />
<br />
The results can be found in [[Diva_products|Diva Products]]<br />
<br />
== Quality control of products == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
The issue of the quality of the products has been addressed by the EC. This page deals with the successive steps that have to be followed in order to ensure the quality of the products generated by the application of DIVA.<br />
<br />
[[Diva_QC|Quality control of products]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== Testing new versions == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Every time a significant modification is made to the source code, a set of tests have to be performed to insure that no error was introduced. <br />
These tests will be described in the following page and only concern Diva developers or beta testers: [[Diva_testing|Testing new versions]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
<br />
<br />
[[Category : Diva]]<br />
<br />
== SVN commands for Diva == <br />
<br />
A list of commands used to manage the subversions of Diva, also only for developers or beta testers<br />
<br />
[[Diva_SVN|SVN commands for Diva]]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/User:JMB
User:JMB
2015-11-25T14:14:26Z
<p>Jmb: /* Hobbies */</p>
<hr />
<div>[[File:jmb.jpg|thumb|right]]<br />
<br />
'''This is the home page of Jean-Marie BECKERS (contact e-mail: JM.Beckers (symbol) ulg.ac.be)'''<br />
<br />
''' Professor, GHER group leader '''<br />
<br />
''' Department [http://www.ago.ulg.ac.be/index_e.php AGO], group [http://modb.oce.ulg.ac.be/ GHER], at the [http://www.ulg.ac.be University of Liège]''' <br />
<br />
== Career ==<br />
<br />
* Full professor (Professeur ordinaire) at the [http://www.ulg.ac.be University of Liège] since 1/1/07<br />
* Professor at the [http://www.ulg.ac.be University of Liège] since 1/10/03.<br />
* Research Associate [http://www.fnrs.be F.R.S.-FNRS] from 1/10/95 to 30/9/05.<br />
* Post-doctoral researcher [http://www.fnrs.be F.R.S.-FNRS], also Alexander Von Humboldt fellow at IFM Hamburg, from 1/10/93 to 30/9/95.<br />
* Assistant at [http://www.ulg.ac.be University of Liège] from 1/10/92 to 30/9/93.<br />
* Research Fellow [http://www.fnrs.be F.R.S.-FNRS] from 1/10/88 to 30/9/92.<br />
* Student-assistant [http://www.ulg.ac.be University of Liège] from 1985 to 1988.<br />
<br />
<br />
== Peer reviewed publications ==<br />
<br />
<br />
<html><br />
<br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28uid%3Au013845%29%29+AND+%28%28filter%3Aprvw%29%29&amp;chars=0&amp;language=en&amp;data=pr&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" frameborder="0" height="300" scrolling="auto" width="750"></iframe><br />
<br />
</html><br />
<br />
A printable version can be generated <br />
[http://orbi.ulg.ac.be/ulg-report?query=%28%28uid%3Au013845%29%29+AND+%28%28type%3A%23A00%29+OR+%28type%3A%23B00%29+OR+%28type%3A%23C00%29%29&model=a&numb=1&format=apa&sort_by0=1&order0=DESC&sort_by1=3&order1=ASC&sort_by2=2&order2=ASC&output=pdf&language=en&title=Peer+reviewed+publications+of+Jean-Marie+Beckers here]<br />
<br />
== Research interests and recent work==<br />
Physical oceanography with theoretical developments in<br />
* numerical and mathematical modelling,<br />
* statistical data analyisis, in particular spatial gridding,<br />
* data assimilation<br />
<br />
applications include global, regional and coastal domains, mainly in <br />
* Mediterranean Sea,<br />
* Black Sea, <br />
* Golf of Cadiz.<br />
<br />
mostly within the framework of EU projects, currently within [http://www.data-assimilation.net/ SANGOMA], [http://www.seadatanet.org/ SeaDataNet] and [http://www.emodnet-chemistry.eu/portal/portal/ Emodnet].<br />
<br />
== Lectures ==<br />
<br />
<br />
[http://progcours.ulg.ac.be/cocoon/en/enseignant/U013845.html University lectures]<br />
<br />
<br />
Main reference work: [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Geophysical Fluid Dynamics] with [http://booksite.academicpress.com/9780120887590/index.php matlab codes and animations at Elsevier] and some [[new stuff|additional supporting material]]. Color figures can also be found free of charge at [http://booksite.academicpress.com/9780120887590/color_figures.php Elsevier]<br />
<br />
<div style="float: top; width: 45%"><br />
[[File:9780120887590.jpg|frameless|center|400px]] <br />
</div><br />
<br />
== Service ==<br />
<br />
* Member of [https://webgate.ec.europa.eu/maritimeforum/node/1451 MODEG]: Marine Observation and Data Expert Group<br />
* F.R.S.-FNRS representative at the ESF [http://www.marineboard.eu Marine Board]<br />
* Member of the scientific advisory board of [http://www.ifremer.fr Ifremer] from 2007-2012<br />
* Member of the EGU Fridtjof Nansen Medal committee 2010-2014<br />
* Expert at the [http://cordis.europa.eu/fp7/home_en.html EU]<br />
* Evaluator for national programs: [http://www.agence-nationale-recherche.fr/ ANR], EU-BONUS projects, NSF-USA, CNRS-INSU, Severa-Ochoa commitee 2011, NWO, Swiss NSF, Croation Science Fundation, Portuges Praxis projects <br />
* Partner or coordinator of 24 [http://modb.oce.ulg.ac.be/mediawiki/index.php/Projects EU projects]<br />
* Organiser of the [http://modb.oce.ulg.ac.be/colloquium/ International Liege Colloquium on Ocean Dynamics] and editor of associated special issues<br />
* Editor of [http://www.springer.com/earth+sciences+and+geography/oceanography/journal/10236 Ocean Dynamics] from 2001 to 2012<br />
* Member of the editorial board of [http://www.datasets.com/journals/geosciences/ Dataset Papers in Geosciences] since 2012, [http://www.isrn.com/journals/oceanography/ ISRN Oceanography] since 2012, [http://preview.apjcen.com/ Asia Pacific Journal on Computational Engineering] since 2013<br />
* Reviewer for 34 international journals<br />
<br />
== Awards ==<br />
* [http://www2.frs-fnrs.be/fr/financer-les-chercheurs/prix-scientifiques/349-fonds-isdt-wernaers.html WERNAERS award] 2010 <br />
* TOYP Belgium (the outstanding young person) award, section sciences and technology 1997.<br />
* [http://www.ulg.ac.be/amis/laureats.html Prix André Leroux] 1995 de l'Association des Amis de l'Université de Liège.<br />
* [http://www.fnrs.be/3-financement/4-prix.html Prix IBM Belgique d'Informatique], Ph.D. thesis, F.N.R.S. 1993.<br />
* Prix IRMA (Institut de Recherches Marines et d'Interaction Air-Mer) 1992.<br />
<br />
<br />
== Hobbies ==<br />
<br />
* Photography during trekking in remote locations<br />
* Cooking for and with friends<br />
* Card magic</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/User:JMB
User:JMB
2015-11-25T14:13:58Z
<p>Jmb: /* Lectures */</p>
<hr />
<div>[[File:jmb.jpg|thumb|right]]<br />
<br />
'''This is the home page of Jean-Marie BECKERS (contact e-mail: JM.Beckers (symbol) ulg.ac.be)'''<br />
<br />
''' Professor, GHER group leader '''<br />
<br />
''' Department [http://www.ago.ulg.ac.be/index_e.php AGO], group [http://modb.oce.ulg.ac.be/ GHER], at the [http://www.ulg.ac.be University of Liège]''' <br />
<br />
== Career ==<br />
<br />
* Full professor (Professeur ordinaire) at the [http://www.ulg.ac.be University of Liège] since 1/1/07<br />
* Professor at the [http://www.ulg.ac.be University of Liège] since 1/10/03.<br />
* Research Associate [http://www.fnrs.be F.R.S.-FNRS] from 1/10/95 to 30/9/05.<br />
* Post-doctoral researcher [http://www.fnrs.be F.R.S.-FNRS], also Alexander Von Humboldt fellow at IFM Hamburg, from 1/10/93 to 30/9/95.<br />
* Assistant at [http://www.ulg.ac.be University of Liège] from 1/10/92 to 30/9/93.<br />
* Research Fellow [http://www.fnrs.be F.R.S.-FNRS] from 1/10/88 to 30/9/92.<br />
* Student-assistant [http://www.ulg.ac.be University of Liège] from 1985 to 1988.<br />
<br />
<br />
== Peer reviewed publications ==<br />
<br />
<br />
<html><br />
<br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28uid%3Au013845%29%29+AND+%28%28filter%3Aprvw%29%29&amp;chars=0&amp;language=en&amp;data=pr&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" frameborder="0" height="300" scrolling="auto" width="750"></iframe><br />
<br />
</html><br />
<br />
A printable version can be generated <br />
[http://orbi.ulg.ac.be/ulg-report?query=%28%28uid%3Au013845%29%29+AND+%28%28type%3A%23A00%29+OR+%28type%3A%23B00%29+OR+%28type%3A%23C00%29%29&model=a&numb=1&format=apa&sort_by0=1&order0=DESC&sort_by1=3&order1=ASC&sort_by2=2&order2=ASC&output=pdf&language=en&title=Peer+reviewed+publications+of+Jean-Marie+Beckers here]<br />
<br />
== Research interests and recent work==<br />
Physical oceanography with theoretical developments in<br />
* numerical and mathematical modelling,<br />
* statistical data analyisis, in particular spatial gridding,<br />
* data assimilation<br />
<br />
applications include global, regional and coastal domains, mainly in <br />
* Mediterranean Sea,<br />
* Black Sea, <br />
* Golf of Cadiz.<br />
<br />
mostly within the framework of EU projects, currently within [http://www.data-assimilation.net/ SANGOMA], [http://www.seadatanet.org/ SeaDataNet] and [http://www.emodnet-chemistry.eu/portal/portal/ Emodnet].<br />
<br />
== Lectures ==<br />
<br />
<br />
[http://progcours.ulg.ac.be/cocoon/en/enseignant/U013845.html University lectures]<br />
<br />
<br />
Main reference work: [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Geophysical Fluid Dynamics] with [http://booksite.academicpress.com/9780120887590/index.php matlab codes and animations at Elsevier] and some [[new stuff|additional supporting material]]. Color figures can also be found free of charge at [http://booksite.academicpress.com/9780120887590/color_figures.php Elsevier]<br />
<br />
<div style="float: top; width: 45%"><br />
[[File:9780120887590.jpg|frameless|center|400px]] <br />
</div><br />
<br />
== Service ==<br />
<br />
* Member of [https://webgate.ec.europa.eu/maritimeforum/node/1451 MODEG]: Marine Observation and Data Expert Group<br />
* F.R.S.-FNRS representative at the ESF [http://www.marineboard.eu Marine Board]<br />
* Member of the scientific advisory board of [http://www.ifremer.fr Ifremer] from 2007-2012<br />
* Member of the EGU Fridtjof Nansen Medal committee 2010-2014<br />
* Expert at the [http://cordis.europa.eu/fp7/home_en.html EU]<br />
* Evaluator for national programs: [http://www.agence-nationale-recherche.fr/ ANR], EU-BONUS projects, NSF-USA, CNRS-INSU, Severa-Ochoa commitee 2011, NWO, Swiss NSF, Croation Science Fundation, Portuges Praxis projects <br />
* Partner or coordinator of 24 [http://modb.oce.ulg.ac.be/mediawiki/index.php/Projects EU projects]<br />
* Organiser of the [http://modb.oce.ulg.ac.be/colloquium/ International Liege Colloquium on Ocean Dynamics] and editor of associated special issues<br />
* Editor of [http://www.springer.com/earth+sciences+and+geography/oceanography/journal/10236 Ocean Dynamics] from 2001 to 2012<br />
* Member of the editorial board of [http://www.datasets.com/journals/geosciences/ Dataset Papers in Geosciences] since 2012, [http://www.isrn.com/journals/oceanography/ ISRN Oceanography] since 2012, [http://preview.apjcen.com/ Asia Pacific Journal on Computational Engineering] since 2013<br />
* Reviewer for 34 international journals<br />
<br />
== Awards ==<br />
* [http://www2.frs-fnrs.be/fr/financer-les-chercheurs/prix-scientifiques/349-fonds-isdt-wernaers.html WERNAERS award] 2010 <br />
* TOYP Belgium (the outstanding young person) award, section sciences and technology 1997.<br />
* [http://www.ulg.ac.be/amis/laureats.html Prix André Leroux] 1995 de l'Association des Amis de l'Université de Liège.<br />
* [http://www.fnrs.be/3-financement/4-prix.html Prix IBM Belgique d'Informatique], Ph.D. thesis, F.N.R.S. 1993.<br />
* Prix IRMA (Institut de Recherches Marines et d'Interaction Air-Mer) 1992.<br />
<br />
<br />
== Hobbies ==<br />
<br />
* Photography during trekking in remote locations<br />
* Cooking for and with friends</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/New_stuff
New stuff
2015-11-25T14:12:15Z
<p>Jmb: /* Color figures */</p>
<hr />
<div>[[File:9780120887590.jpg]]<br />
<br />
==Animations==<br />
<br />
Herer are some files with new animations for supporting lectures using [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Geophysical Fluid Dynamics]. The official supporting material is found [http://booksite.academicpress.com/9780120887590/index.php at Elsevier]. Some additional animations are:<br />
<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/equatorialwaves.mov equatorialwaves.mov]<br />
Animation of sequences shown in Figures 21-4 and 21-5 showing equatorial waves triggered in the western part and propagating.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shearedflow.mov shearedflow.mov]<br />
Animation of the shear flow instability of Figure 10-4 <br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy.avi shieldededdy.avi] <br />
Gaussian eddy, stable situation.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy1.avi shieldededdy1.avi]<br />
Zero total vorticity, inner patch with radius which is half of the total radius<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy2.avi shieldededdy2.avi] <br />
Zero total vorticity, inner patch with same surface as outer patch<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy2beta.avi shieldededdy2beta.avi] <br />
As shieldededdy2.avi but with beta effect added. Note the loss of symmetry.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/contour.avi contour.avi]<br />
Contour dynamics code contourdyn.m used to make an animated version of Figure 10.11<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/QGspectral.avi QGspectral.avi]<br />
Spectral code qgspectral.m used to make an animated version of Figure 18.17<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/baroclinic.avi baroclinic.avi]<br />
Two layer model code baroclinic.m used to make an animated version of Figure 17.8 and 17.9<br />
<br />
<br />
<br />
The corresponding [http://modb.oce.ulg.ac.be/mediawiki/upload/README.txt README.txt] can also by downloaded.<br />
<br />
==Errata==<br />
<br />
[http://modb.oce.ulg.ac.be/mediawiki/upload/errata.pdf errata.pdf]<br />
<br />
==Reviews==<br />
* ''This is an excellent textbook, the pearl of GFD literature'' A. Borda in [http://www.met.hu/downloads.php?fn=/metadmin/newspaper/2012/06/116-2-6-book-review.pdf 116-2-6-book-review.pdf] in Quarterly Journal of the Hungarian Meteorological Service (OMSZ) [http://www.met.hu/downloads.php?fn=/metadmin/newspaper/2012/06/idojaras-vol116-no2.pdf Volume 116]<br />
<br />
* [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Amazon review]<br />
<br />
* [http://books.google.com/books/about/Introduction_to_Geophysical_Fluid_Dynami.html?id=3KS8sD5ky9kC Google books]<br />
<br />
* [http://www.barnesandnoble.com/w/introduction-to-geophysical-fluid-dynamics-benoit-cushman-roisin/1103811417 Barnes and Noble]<br />
<br />
* ''This book Introduction to Geophysical Fluid Dynamics is one of the best books introducing the subject matter... Overall, the book is very well written with the material concisely described and methods of solution are highlighted. ... I highly recommend this to undergraduate students, however, graduate students will also benefit from the material presented'' Amgad Salama, [http://dx.doi.org/10.1080/00107514.2012.762047 Full review] in ''Contemporary Physics''<br />
<br />
* ''The concise description of the physics, the self-contained nature, and the attempt to draw on numerical and analytical aspects certainly set Cushman-Roisin and Beckers apart. It is also very readable and there are connections to large-scale environmental phenomena such as the dynamics of a warming climate through the greenhouse effect and El Nino Southern Oscillations, ocean currents that bring warm water to the Pacific Ocean leading to dramatic climatic consequences. As a text for reference or use in the classroom, I can learn a lot from Cushman-Roisin and Beckers text, Introduction to Geophysical Fluid Dynamics'' in [http://download.springer.com/static/pdf/414/art%253A10.1007%252Fs00024-015-1091-0.pdf?originUrl=http%3A%2F%2Flink.springer.com%2Farticle%2F10.1007%2Fs00024-015-1091-0&token2=exp=1448460549~acl=%2Fstatic%2Fpdf%2F414%2Fart%25253A10.1007%25252Fs00024-015-1091-0.pdf%3ForiginUrl%3Dhttp%253A%252F%252Flink.springer.com%252Farticle%252F10.1007%252Fs00024-015-1091-0*~hmac=6ea8ae3a98c885a1c32a10d2ef70ff18bc9c49672908efba0992635fabd96fe3 Pure Appl. Geophys. 172 (2015), 2931–2932 ]<br />
<br />
== Color figures ==<br />
<br />
A common complaint about the printed version is the black and white nature of the figures. Please note that colour figures are available free of charge at<br />
<br />
<br />
[http://booksite.academicpress.com/9780120887590/color_figures.php Elsevier site]<br />
<br />
==Solutions==<br />
<br />
* Analytical problems<br />
<br />
* [[ Numerical problems solutions]] (Needs javascript to be enabled, otherwise you will be redirected here)<br />
<br />
==External material==<br />
<br />
* A port to Phyton for some of the codes [http://ocefpaf.github.io/python4oceanographers/blog/2014/04/21/spectral_ekman/ python4oceanographers ]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/New_stuff
New stuff
2015-11-25T14:11:07Z
<p>Jmb: /* Reviews */</p>
<hr />
<div>[[File:9780120887590.jpg]]<br />
<br />
==Animations==<br />
<br />
Herer are some files with new animations for supporting lectures using [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Geophysical Fluid Dynamics]. The official supporting material is found [http://booksite.academicpress.com/9780120887590/index.php at Elsevier]. Some additional animations are:<br />
<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/equatorialwaves.mov equatorialwaves.mov]<br />
Animation of sequences shown in Figures 21-4 and 21-5 showing equatorial waves triggered in the western part and propagating.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shearedflow.mov shearedflow.mov]<br />
Animation of the shear flow instability of Figure 10-4 <br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy.avi shieldededdy.avi] <br />
Gaussian eddy, stable situation.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy1.avi shieldededdy1.avi]<br />
Zero total vorticity, inner patch with radius which is half of the total radius<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy2.avi shieldededdy2.avi] <br />
Zero total vorticity, inner patch with same surface as outer patch<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy2beta.avi shieldededdy2beta.avi] <br />
As shieldededdy2.avi but with beta effect added. Note the loss of symmetry.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/contour.avi contour.avi]<br />
Contour dynamics code contourdyn.m used to make an animated version of Figure 10.11<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/QGspectral.avi QGspectral.avi]<br />
Spectral code qgspectral.m used to make an animated version of Figure 18.17<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/baroclinic.avi baroclinic.avi]<br />
Two layer model code baroclinic.m used to make an animated version of Figure 17.8 and 17.9<br />
<br />
<br />
<br />
The corresponding [http://modb.oce.ulg.ac.be/mediawiki/upload/README.txt README.txt] can also by downloaded.<br />
<br />
==Errata==<br />
<br />
[http://modb.oce.ulg.ac.be/mediawiki/upload/errata.pdf errata.pdf]<br />
<br />
==Reviews==<br />
* ''This is an excellent textbook, the pearl of GFD literature'' A. Borda in [http://www.met.hu/downloads.php?fn=/metadmin/newspaper/2012/06/116-2-6-book-review.pdf 116-2-6-book-review.pdf] in Quarterly Journal of the Hungarian Meteorological Service (OMSZ) [http://www.met.hu/downloads.php?fn=/metadmin/newspaper/2012/06/idojaras-vol116-no2.pdf Volume 116]<br />
<br />
* [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Amazon review]<br />
<br />
* [http://books.google.com/books/about/Introduction_to_Geophysical_Fluid_Dynami.html?id=3KS8sD5ky9kC Google books]<br />
<br />
* [http://www.barnesandnoble.com/w/introduction-to-geophysical-fluid-dynamics-benoit-cushman-roisin/1103811417 Barnes and Noble]<br />
<br />
* ''This book Introduction to Geophysical Fluid Dynamics is one of the best books introducing the subject matter... Overall, the book is very well written with the material concisely described and methods of solution are highlighted. ... I highly recommend this to undergraduate students, however, graduate students will also benefit from the material presented'' Amgad Salama, [http://dx.doi.org/10.1080/00107514.2012.762047 Full review] in ''Contemporary Physics''<br />
<br />
* ''The concise description of the physics, the self-contained nature, and the attempt to draw on numerical and analytical aspects certainly set Cushman-Roisin and Beckers apart. It is also very readable and there are connections to large-scale environmental phenomena such as the dynamics of a warming climate through the greenhouse effect and El Nino Southern Oscillations, ocean currents that bring warm water to the Pacific Ocean leading to dramatic climatic consequences. As a text for reference or use in the classroom, I can learn a lot from Cushman-Roisin and Beckers text, Introduction to Geophysical Fluid Dynamics'' in [http://download.springer.com/static/pdf/414/art%253A10.1007%252Fs00024-015-1091-0.pdf?originUrl=http%3A%2F%2Flink.springer.com%2Farticle%2F10.1007%2Fs00024-015-1091-0&token2=exp=1448460549~acl=%2Fstatic%2Fpdf%2F414%2Fart%25253A10.1007%25252Fs00024-015-1091-0.pdf%3ForiginUrl%3Dhttp%253A%252F%252Flink.springer.com%252Farticle%252F10.1007%252Fs00024-015-1091-0*~hmac=6ea8ae3a98c885a1c32a10d2ef70ff18bc9c49672908efba0992635fabd96fe3 Pure Appl. Geophys. 172 (2015), 2931–2932 ]<br />
<br />
== Color figures ==<br />
<br />
[http://booksite.academicpress.com/9780120887590/color_figures.php Elsevier site]<br />
<br />
==Solutions==<br />
<br />
* Analytical problems<br />
<br />
* [[ Numerical problems solutions]] (Needs javascript to be enabled, otherwise you will be redirected here)<br />
<br />
==External material==<br />
<br />
* A port to Phyton for some of the codes [http://ocefpaf.github.io/python4oceanographers/blog/2014/04/21/spectral_ekman/ python4oceanographers ]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/New_stuff
New stuff
2015-11-25T14:10:46Z
<p>Jmb: /* Reviews */</p>
<hr />
<div>[[File:9780120887590.jpg]]<br />
<br />
==Animations==<br />
<br />
Herer are some files with new animations for supporting lectures using [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Geophysical Fluid Dynamics]. The official supporting material is found [http://booksite.academicpress.com/9780120887590/index.php at Elsevier]. Some additional animations are:<br />
<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/equatorialwaves.mov equatorialwaves.mov]<br />
Animation of sequences shown in Figures 21-4 and 21-5 showing equatorial waves triggered in the western part and propagating.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shearedflow.mov shearedflow.mov]<br />
Animation of the shear flow instability of Figure 10-4 <br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy.avi shieldededdy.avi] <br />
Gaussian eddy, stable situation.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy1.avi shieldededdy1.avi]<br />
Zero total vorticity, inner patch with radius which is half of the total radius<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy2.avi shieldededdy2.avi] <br />
Zero total vorticity, inner patch with same surface as outer patch<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy2beta.avi shieldededdy2beta.avi] <br />
As shieldededdy2.avi but with beta effect added. Note the loss of symmetry.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/contour.avi contour.avi]<br />
Contour dynamics code contourdyn.m used to make an animated version of Figure 10.11<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/QGspectral.avi QGspectral.avi]<br />
Spectral code qgspectral.m used to make an animated version of Figure 18.17<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/baroclinic.avi baroclinic.avi]<br />
Two layer model code baroclinic.m used to make an animated version of Figure 17.8 and 17.9<br />
<br />
<br />
<br />
The corresponding [http://modb.oce.ulg.ac.be/mediawiki/upload/README.txt README.txt] can also by downloaded.<br />
<br />
==Errata==<br />
<br />
[http://modb.oce.ulg.ac.be/mediawiki/upload/errata.pdf errata.pdf]<br />
<br />
==Reviews==<br />
* ''This is an excellent textbook, the pearl of GFD literature'' A. Borda in [http://www.met.hu/downloads.php?fn=/metadmin/newspaper/2012/06/116-2-6-book-review.pdf 116-2-6-book-review.pdf] in Quarterly Journal of the Hungarian Meteorological Service (OMSZ) [http://www.met.hu/downloads.php?fn=/metadmin/newspaper/2012/06/idojaras-vol116-no2.pdf Volume 116]<br />
<br />
* [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Amazon review]<br />
<br />
* [http://books.google.com/books/about/Introduction_to_Geophysical_Fluid_Dynami.html?id=3KS8sD5ky9kC Google books]<br />
<br />
* [http://www.barnesandnoble.com/w/introduction-to-geophysical-fluid-dynamics-benoit-cushman-roisin/1103811417 Barnes and Noble]<br />
<br />
* ''This book Introduction to Geophysical Fluid Dynamics is one of the best books introducing the subject matter... Overall, the book is very well written with the material concisely described and methods of solution are highlighted. ... I highly recommend this to undergraduate students, however, graduate students will also benefit from the material presented'' Amgad Salama, [http://dx.doi.org/10.1080/00107514.2012.762047 Full review] in ''Contemporary Physics''<br />
<br />
* ''The concise description of the physics, the self-contained nature, and the attempt to draw on numerical and analytical aspects certainly set Cushman-Roisin and Beckers apart. It is also very readable and there are connections to large-scale environmental phenomena such as the dynamics of a warming climate through the greenhouse effect and El Nin˜o Southern Oscillations,<br />
ocean currents that bring warm water to the Pacific Ocean leading to dramatic climatic consequences.<br />
As a text for reference or use in the classroom, I can learn a lot from Cushman-Roisin and Beckers text, Introduction to Geophysical Fluid<br />
Dynamics'' in [http://download.springer.com/static/pdf/414/art%253A10.1007%252Fs00024-015-1091-0.pdf?originUrl=http%3A%2F%2Flink.springer.com%2Farticle%2F10.1007%2Fs00024-015-1091-0&token2=exp=1448460549~acl=%2Fstatic%2Fpdf%2F414%2Fart%25253A10.1007%25252Fs00024-015-1091-0.pdf%3ForiginUrl%3Dhttp%253A%252F%252Flink.springer.com%252Farticle%252F10.1007%252Fs00024-015-1091-0*~hmac=6ea8ae3a98c885a1c32a10d2ef70ff18bc9c49672908efba0992635fabd96fe3 Pure Appl. Geophys. 172 (2015), 2931–2932 ]<br />
<br />
== Color figures ==<br />
<br />
[http://booksite.academicpress.com/9780120887590/color_figures.php Elsevier site]<br />
<br />
==Solutions==<br />
<br />
* Analytical problems<br />
<br />
* [[ Numerical problems solutions]] (Needs javascript to be enabled, otherwise you will be redirected here)<br />
<br />
==External material==<br />
<br />
* A port to Phyton for some of the codes [http://ocefpaf.github.io/python4oceanographers/blog/2014/04/21/spectral_ekman/ python4oceanographers ]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/New_stuff
New stuff
2015-11-25T14:10:32Z
<p>Jmb: /* Reviews */</p>
<hr />
<div>[[File:9780120887590.jpg]]<br />
<br />
==Animations==<br />
<br />
Herer are some files with new animations for supporting lectures using [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Geophysical Fluid Dynamics]. The official supporting material is found [http://booksite.academicpress.com/9780120887590/index.php at Elsevier]. Some additional animations are:<br />
<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/equatorialwaves.mov equatorialwaves.mov]<br />
Animation of sequences shown in Figures 21-4 and 21-5 showing equatorial waves triggered in the western part and propagating.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shearedflow.mov shearedflow.mov]<br />
Animation of the shear flow instability of Figure 10-4 <br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy.avi shieldededdy.avi] <br />
Gaussian eddy, stable situation.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy1.avi shieldededdy1.avi]<br />
Zero total vorticity, inner patch with radius which is half of the total radius<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy2.avi shieldededdy2.avi] <br />
Zero total vorticity, inner patch with same surface as outer patch<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy2beta.avi shieldededdy2beta.avi] <br />
As shieldededdy2.avi but with beta effect added. Note the loss of symmetry.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/contour.avi contour.avi]<br />
Contour dynamics code contourdyn.m used to make an animated version of Figure 10.11<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/QGspectral.avi QGspectral.avi]<br />
Spectral code qgspectral.m used to make an animated version of Figure 18.17<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/baroclinic.avi baroclinic.avi]<br />
Two layer model code baroclinic.m used to make an animated version of Figure 17.8 and 17.9<br />
<br />
<br />
<br />
The corresponding [http://modb.oce.ulg.ac.be/mediawiki/upload/README.txt README.txt] can also by downloaded.<br />
<br />
==Errata==<br />
<br />
[http://modb.oce.ulg.ac.be/mediawiki/upload/errata.pdf errata.pdf]<br />
<br />
==Reviews==<br />
* ''This is an excellent textbook, the pearl of GFD literature'' A. Borda in [http://www.met.hu/downloads.php?fn=/metadmin/newspaper/2012/06/116-2-6-book-review.pdf 116-2-6-book-review.pdf] in Quarterly Journal of the Hungarian Meteorological Service (OMSZ) [http://www.met.hu/downloads.php?fn=/metadmin/newspaper/2012/06/idojaras-vol116-no2.pdf Volume 116]<br />
<br />
* [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Amazon review]<br />
<br />
* [http://books.google.com/books/about/Introduction_to_Geophysical_Fluid_Dynami.html?id=3KS8sD5ky9kC Google books]<br />
<br />
* [http://www.barnesandnoble.com/w/introduction-to-geophysical-fluid-dynamics-benoit-cushman-roisin/1103811417 Barnes and Noble]<br />
<br />
* ''This book Introduction to Geophysical Fluid Dynamics is one of the best books introducing the subject matter... Overall, the book is very well written with the material concisely described and methods of solution are highlighted. ... I highly recommend this to undergraduate students, however, graduate students will also benefit from the material presented'' Amgad Salama, [http://dx.doi.org/10.1080/00107514.2012.762047 Full review] in ''Contemporary Physics''<br />
<br />
* ''The concise description of the physics, the self-contained nature, and the attempt to draw on numerical and<br />
analytical aspects certainly set Cushman-Roisin and Beckers apart. It is also very readable and there are connections to large-scale environmental phenomena such as the dynamics of a warming climate through the greenhouse effect and El Nin˜o Southern Oscillations,<br />
ocean currents that bring warm water to the Pacific Ocean leading to dramatic climatic consequences.<br />
As a text for reference or use in the classroom, I can learn a lot from Cushman-Roisin and Beckers text, Introduction to Geophysical Fluid<br />
Dynamics'' in [http://download.springer.com/static/pdf/414/art%253A10.1007%252Fs00024-015-1091-0.pdf?originUrl=http%3A%2F%2Flink.springer.com%2Farticle%2F10.1007%2Fs00024-015-1091-0&token2=exp=1448460549~acl=%2Fstatic%2Fpdf%2F414%2Fart%25253A10.1007%25252Fs00024-015-1091-0.pdf%3ForiginUrl%3Dhttp%253A%252F%252Flink.springer.com%252Farticle%252F10.1007%252Fs00024-015-1091-0*~hmac=6ea8ae3a98c885a1c32a10d2ef70ff18bc9c49672908efba0992635fabd96fe3 Pure Appl. Geophys. 172 (2015), 2931–2932 ]<br />
<br />
== Color figures ==<br />
<br />
[http://booksite.academicpress.com/9780120887590/color_figures.php Elsevier site]<br />
<br />
==Solutions==<br />
<br />
* Analytical problems<br />
<br />
* [[ Numerical problems solutions]] (Needs javascript to be enabled, otherwise you will be redirected here)<br />
<br />
==External material==<br />
<br />
* A port to Phyton for some of the codes [http://ocefpaf.github.io/python4oceanographers/blog/2014/04/21/spectral_ekman/ python4oceanographers ]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/New_stuff
New stuff
2015-11-25T14:09:38Z
<p>Jmb: /* Reviews */</p>
<hr />
<div>[[File:9780120887590.jpg]]<br />
<br />
==Animations==<br />
<br />
Herer are some files with new animations for supporting lectures using [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Geophysical Fluid Dynamics]. The official supporting material is found [http://booksite.academicpress.com/9780120887590/index.php at Elsevier]. Some additional animations are:<br />
<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/equatorialwaves.mov equatorialwaves.mov]<br />
Animation of sequences shown in Figures 21-4 and 21-5 showing equatorial waves triggered in the western part and propagating.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shearedflow.mov shearedflow.mov]<br />
Animation of the shear flow instability of Figure 10-4 <br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy.avi shieldededdy.avi] <br />
Gaussian eddy, stable situation.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy1.avi shieldededdy1.avi]<br />
Zero total vorticity, inner patch with radius which is half of the total radius<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy2.avi shieldededdy2.avi] <br />
Zero total vorticity, inner patch with same surface as outer patch<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy2beta.avi shieldededdy2beta.avi] <br />
As shieldededdy2.avi but with beta effect added. Note the loss of symmetry.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/contour.avi contour.avi]<br />
Contour dynamics code contourdyn.m used to make an animated version of Figure 10.11<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/QGspectral.avi QGspectral.avi]<br />
Spectral code qgspectral.m used to make an animated version of Figure 18.17<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/baroclinic.avi baroclinic.avi]<br />
Two layer model code baroclinic.m used to make an animated version of Figure 17.8 and 17.9<br />
<br />
<br />
<br />
The corresponding [http://modb.oce.ulg.ac.be/mediawiki/upload/README.txt README.txt] can also by downloaded.<br />
<br />
==Errata==<br />
<br />
[http://modb.oce.ulg.ac.be/mediawiki/upload/errata.pdf errata.pdf]<br />
<br />
==Reviews==<br />
* ''This is an excellent textbook, the pearl of GFD literature'' A. Borda in [http://www.met.hu/downloads.php?fn=/metadmin/newspaper/2012/06/116-2-6-book-review.pdf 116-2-6-book-review.pdf] in Quarterly Journal of the Hungarian Meteorological Service (OMSZ) [http://www.met.hu/downloads.php?fn=/metadmin/newspaper/2012/06/idojaras-vol116-no2.pdf Volume 116]<br />
<br />
* [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Amazon review]<br />
<br />
* [http://books.google.com/books/about/Introduction_to_Geophysical_Fluid_Dynami.html?id=3KS8sD5ky9kC Google books]<br />
<br />
* [http://www.barnesandnoble.com/w/introduction-to-geophysical-fluid-dynamics-benoit-cushman-roisin/1103811417 Barnes and Noble]<br />
<br />
* ''This book Introduction to Geophysical Fluid Dynamics is one of the best books introducing the subject matter... Overall, the book is very well written with the material concisely described and methods of solution are highlighted. ... I highly recommend this to undergraduate students, however, graduate students will also benefit from the material presented'' Amgad Salama, [http://dx.doi.org/10.1080/00107514.2012.762047 Full review] in ''Contemporary Physics''<br />
<br />
* ''The concise description of the physics, the self-contained<br />
nature, and the attempt to draw on numerical and<br />
analytical aspects certainly set Cushman-Roisin and<br />
Beckers apart. It is also very readable and there are connections to large-scale environmental phenomena<br />
such as the dynamics of a warming climate through<br />
the greenhouse effect and El Nin˜o Southern Oscillations,<br />
ocean currents that bring warm water to the<br />
Pacific Ocean leading to dramatic climatic consequences.<br />
As a text for reference or use in the<br />
classroom, I can learn a lot from Cushman-Roisin and<br />
Beckers’ text, Introduction to Geophysical Fluid<br />
Dynamics'' in [http://download.springer.com/static/pdf/414/art%253A10.1007%252Fs00024-015-1091-0.pdf?originUrl=http%3A%2F%2Flink.springer.com%2Farticle%2F10.1007%2Fs00024-015-1091-0&token2=exp=1448460549~acl=%2Fstatic%2Fpdf%2F414%2Fart%25253A10.1007%25252Fs00024-015-1091-0.pdf%3ForiginUrl%3Dhttp%253A%252F%252Flink.springer.com%252Farticle%252F10.1007%252Fs00024-015-1091-0*~hmac=6ea8ae3a98c885a1c32a10d2ef70ff18bc9c49672908efba0992635fabd96fe3 Pure Appl. Geophys. 172 (2015), 2931–2932 ]<br />
<br />
== Color figures ==<br />
<br />
[http://booksite.academicpress.com/9780120887590/color_figures.php Elsevier site]<br />
<br />
==Solutions==<br />
<br />
* Analytical problems<br />
<br />
* [[ Numerical problems solutions]] (Needs javascript to be enabled, otherwise you will be redirected here)<br />
<br />
==External material==<br />
<br />
* A port to Phyton for some of the codes [http://ocefpaf.github.io/python4oceanographers/blog/2014/04/21/spectral_ekman/ python4oceanographers ]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/New_stuff
New stuff
2015-11-25T14:07:01Z
<p>Jmb: /* Reviews */</p>
<hr />
<div>[[File:9780120887590.jpg]]<br />
<br />
==Animations==<br />
<br />
Herer are some files with new animations for supporting lectures using [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Geophysical Fluid Dynamics]. The official supporting material is found [http://booksite.academicpress.com/9780120887590/index.php at Elsevier]. Some additional animations are:<br />
<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/equatorialwaves.mov equatorialwaves.mov]<br />
Animation of sequences shown in Figures 21-4 and 21-5 showing equatorial waves triggered in the western part and propagating.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shearedflow.mov shearedflow.mov]<br />
Animation of the shear flow instability of Figure 10-4 <br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy.avi shieldededdy.avi] <br />
Gaussian eddy, stable situation.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy1.avi shieldededdy1.avi]<br />
Zero total vorticity, inner patch with radius which is half of the total radius<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy2.avi shieldededdy2.avi] <br />
Zero total vorticity, inner patch with same surface as outer patch<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy2beta.avi shieldededdy2beta.avi] <br />
As shieldededdy2.avi but with beta effect added. Note the loss of symmetry.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/contour.avi contour.avi]<br />
Contour dynamics code contourdyn.m used to make an animated version of Figure 10.11<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/QGspectral.avi QGspectral.avi]<br />
Spectral code qgspectral.m used to make an animated version of Figure 18.17<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/baroclinic.avi baroclinic.avi]<br />
Two layer model code baroclinic.m used to make an animated version of Figure 17.8 and 17.9<br />
<br />
<br />
<br />
The corresponding [http://modb.oce.ulg.ac.be/mediawiki/upload/README.txt README.txt] can also by downloaded.<br />
<br />
==Errata==<br />
<br />
[http://modb.oce.ulg.ac.be/mediawiki/upload/errata.pdf errata.pdf]<br />
<br />
==Reviews==<br />
* ''This is an excellent textbook, the pearl of GFD literature'' A. Borda in [http://www.met.hu/downloads.php?fn=/metadmin/newspaper/2012/06/116-2-6-book-review.pdf 116-2-6-book-review.pdf] in Quarterly Journal of the Hungarian Meteorological Service (OMSZ) [http://www.met.hu/downloads.php?fn=/metadmin/newspaper/2012/06/idojaras-vol116-no2.pdf Volume 116]<br />
<br />
* [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Amazon review]<br />
<br />
* [http://books.google.com/books/about/Introduction_to_Geophysical_Fluid_Dynami.html?id=3KS8sD5ky9kC Google books]<br />
<br />
* [http://www.barnesandnoble.com/w/introduction-to-geophysical-fluid-dynamics-benoit-cushman-roisin/1103811417 Barnes and Noble]<br />
<br />
* ''This book Introduction to Geophysical Fluid Dynamics is one of the best books introducing the subject matter... Overall, the book is very well written with the material concisely described and methods of solution are highlighted. ... I highly recommend this to undergraduate students, however, graduate students will also benefit from the material presented'' Amgad Salama, [http://dx.doi.org/10.1080/00107514.2012.762047 Full review] in ''Contemporary Physics''<br />
<br />
* ''The<br />
concise description of the physics, the self-contained<br />
nature, and the attempt to draw on numerical and<br />
analytical aspects certainly set Cushman-Roisin and<br />
Beckers apart. It is also very readable and there are connections to large-scale environmental phenomena<br />
such as the dynamics of a warming climate through<br />
the greenhouse effect and El Nin˜o Southern Oscillations,<br />
ocean currents that bring warm water to the<br />
Pacific Ocean leading to dramatic climatic consequences.<br />
As a text for reference or use in the<br />
classroom, I can learn a lot from Cushman-Roisin and<br />
Beckers’ text, Introduction to Geophysical Fluid<br />
Dynamics'' in [http://download.springer.com/static/pdf/414/art%253A10.1007%252Fs00024-015-1091-0.pdf?originUrl=http%3A%2F%2Flink.springer.com%2Farticle%2F10.1007%2Fs00024-015-1091-0&token2=exp=1448460549~acl=%2Fstatic%2Fpdf%2F414%2Fart%25253A10.1007%25252Fs00024-015-1091-0.pdf%3ForiginUrl%3Dhttp%253A%252F%252Flink.springer.com%252Farticle%252F10.1007%252Fs00024-015-1091-0*~hmac=6ea8ae3a98c885a1c32a10d2ef70ff18bc9c49672908efba0992635fabd96fe3] Pure Appl. Geophys. 172 (2015), 2931–2932<br />
<br />
== Color figures ==<br />
<br />
[http://booksite.academicpress.com/9780120887590/color_figures.php Elsevier site]<br />
<br />
==Solutions==<br />
<br />
* Analytical problems<br />
<br />
* [[ Numerical problems solutions]] (Needs javascript to be enabled, otherwise you will be redirected here)<br />
<br />
==External material==<br />
<br />
* A port to Phyton for some of the codes [http://ocefpaf.github.io/python4oceanographers/blog/2014/04/21/spectral_ekman/ python4oceanographers ]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DINEOF
DINEOF
2015-01-23T12:13:39Z
<p>Jmb: /* FAQ */</p>
<hr />
<div>[[Image:Dineof_logo.png|left|100px]] DINEOF is an EOF-based method to fill in missing data from geophysical fields, such as clouds in sea surface temperature. This page contains basic instructions to download and compile DINEOF. The source code and binaries are freely available for download right here!:<br />
<br />
<br />
<br />
<html><br />
<center><br />
<a href="/mediawiki/upload/DINEOF/Package-3.0/dineof-3.0.zip" class="DownloadButton DownloadButtonUnknownOS">Download DINEOF now!<br/><br />
<p></p><br />
<span style="font-weight:bold; font-size: 36px;">⇩</span><br />
</a><br />
</center><br />
</html><br />
<br />
For more information on how DINEOF works, please refer to [[DINEOF_references | Alvera-Azcarate et al (2005)]] and [[DINEOF_references | Beckers and Rixen (2003)]] The multivariate application of DINEOF is explained in Alvera-Azcarate et al (2007), and in [[DINEOF_references | Beckers et al (2006)]] the error calculation using an optimal interpolation approach is explained. If you need a copy of any of these papers, don't hesitate to contact us! For more information about the Lanczos solver, see Toumazou and Cretaux (2001). <br />
<br />
<center><br />
If you want to try DINEOF without installation on standard satellite data sets: <br />
</center><br />
<center><br />
http://www.dineof.net/<br />
</center><br />
<br />
<br />
== An example ==<br />
<br />
<!--[[Image:Dineof_onweb_small2.png|frame|Daily Mediterranean Sea SST reconstruction using DINEOF at http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html]]--><br />
<br />
[[Image:Dineof_logo.png|link=DINEOF|left|60px]] Go directly to the [[DINEOF |DINEOF home page]]<br />
<html><br />
<div style="float: right; border: 1px solid gray; padding:10px; margin:10px"><br />
<a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_cloudy.html"> <img src="http://gher-diva.phys.ulg.ac.be/DINEOF/WebRec/Cloudy/DINEOF2_10.png" width="397" height="142" alt="DINEOF reconstruction" title="DINEOF reconstruction"/></a><br />
<p><center><a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html">Daily Mediterranean Sea SST reconstruction using DINEOF</a></center></p><br />
</div><br />
</html><br />
<br />
You can see [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_all.html here] a daily reconstruction of the Sea Surface Temperature of the Western Mediterranean Sea, and [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_allCAN.html here] for the Canary-Madeira region.<br />
<br />
<br />
Daily filled fields, error maps and outliers for the past ten days are shown in the mentioned web page. The reconstruction is done on 6 months of data, and the whole procedure takes about two hours. The steps taken are the following:<br />
* Download cloudy data <br />
* Run DINEOF for outlier detection<br />
* Remove outliers from initial data set<br />
* Re-run DINEOF on the cleaned data set<br />
* Calculate outliers<br />
* Make plots, and display on web page<br />
<br />
<br />
This product is updated daily with the latest SST data from the Mediterranean Sea.<br />
<br />
== Getting started ==<br />
<br />
* [[Download_DINEOF | Download DINEOF!]]<br />
* [[Requirements_DINEOF | What do you need to run the code? Requirements]]<br />
* [[DINEOF Compilation]]<br />
* [[Running Examples | Running the examples]]<br />
* [[DINEOF format |Input/Output formats: preparing your own data]]<br />
* [[DINEOF init file | The init file]]<br />
* [[Output files | Output files]]<br />
* [[DINEOF output | The text output ]]<br />
* [[Troubleshooting | Troubleshooting ]]<br />
<br />
== List of DINEOF References ==<br />
<br />
[[DINEOF_references | A list of publications]] made by our group about DINEOF and papers related to its development. There is also a list of papers by other people is using DINEOF for their research<br />
<br />
<br />
<br />
== Problems/Feedback ==<br />
<br />
If you have problems to install or use DINEOF, we would be glad to help you. We have created a mailing list where you can ask your questions, and check the questions already posted by others. You can join as a member by going to: http://groups.google.com/group/dineof. Once you are a member, you can ask your question by sending an email to: '''dineof at googlegroups dot com''' (with obvious substitutions). Please join our discussion group! See also [[Troubleshooting]]<br />
<br />
<br />
In order for us to help you, please provide the following information when reporting your problem through the mailing list:<br />
<br />
# Which version of DINEOF is used. Did you compile it yourself or did you use the binaries we provide?<br />
# Which operating system and which version are you working on? (for example: Windows 8.1, Ubuntu 14.04 ...)<br />
# Are you working on a 32-bit or 64 bit CPU?<br />
# Error message (the exact screen output, please)<br />
<br />
<br />
If you are compiling DINEOF from source, please make sure to give us also the following information:<br />
# Which Fortran compiler (and which version) are you using (for example, gfortran 4.8.0)<br />
# Compiler flags used to compile ARPACK (If you did not compile ARPACK by yourself, then you can just specify from where you got the compiled library, e.g. Ubuntu software repository or MacPorts).<br />
# Your Makefile and the corresponding file in Compilers/ (e.g. Linux-gfortran.mk if you use gfortran on Linux).<br />
# Compile log (make.log) generated by compiling DINEOF:<br />
<br />
make clean all > make.log<br />
<br />
If you think there is a bug, please provide a stripped-down version of your problem which still exhibits the problem.<br />
<br />
'''Please do not omit any of those points. The more information you provide, the more likely it will be that we can help you.'''<br />
<br />
== FAQ ==<br />
<br />
In construction!!<br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
* '''Are there other ways to use DINEOF than with the compiled Fortran code?''' <br />
<br />
<br />
If you are not needing to exploit all features of the compiled Fortran code, some wrappers or implementations in popular analysis softwares can be exploited:<br />
<br />
There is an R code available but not controlled, validated or maintained by our group: <br />
http://menugget.blogspot.be/2012/10/dineof-data-interpolating-empirical.html#uds-search-results<br />
<br />
Then there is an online version for use with standard satellite data: http://www.dineof.net/<br />
<br />
A matlab wrapper can be found here https://svn.oss.deltares.nl/repos/openearthtools/trunk/matlab/applications/+dineof/<br />
<br />
There also seems to be an ArcGIS implementation: http://proceedings.spiedigitallibrary.org/proceeding.aspx?articleid=1897232<br />
<br />
Finally an IDL wrapper was probably prepared : https://groups.google.com/forum/#!topic/dineof/PbkQwu8t7Z4<br />
<br />
<br />
* '''Does the reconstruction take into account the time proximity of the images, i.e., does yesterday's image influence more than an image 6 months ago?''' <br />
<br />
All the images have the same weight in the reconstruction. But in the recent versions, a filter is applied on the time-covariance matrix. This filtering provides a better consistence between successive images. Also note that even if there is no '''explicit''' information on time closeness, if the process is more correlated to recent events, the EOF decomposition will detect it and provide naturally a reconstruction which uses recent information rather than older ones. <br />
<br />
* '''How many days/months/years of data are necessary for a reconstruction?'''<br />
<br />
As a general rule, the longest time series of images will provide the best results, as the principal modes of variability will be well reproduced. However, if the memory usage is limited, then the time series can be shortened.<br />
<br />
* '''Is it possible to reconstruct images with almost 100% of missing data?'''<br />
<br />
Yes, it is possible, but the result may not be reliable. In general, images containing less than 5% of data do not provide useful information <br />
and might aﬀect the final result. <br />
<br />
* '''How to deal with clouds that are not well detected by the algorithms?'''<br />
<br />
There is now a quality control implemented in DINEOF: it provides a list of suspect pixel values according to:<br />
# the proximity with detected clouds<br />
# the distance to the local median value<br />
# the spatial coherence with the reconstruction<br />
<br />
* '''Why the reconstruction does partially remove gradients or variability?'''<br />
<br />
Because the reconstruction with DINEOF is obtained as a truncated EOF decomposition. There are higher-order modes that are not considered for the final reconstruction, as the reconstruction with this number of modes does not provide the minimal cross-validation error. <br />
<br />
It is also possible to keep the original pixels and only fill in the clouds. Doing so, the gradients and the variability is conserved but there might be artefacts at the edges of the filled regions.<br />
<br />
* ''' Why isn't there any graphical user interface yet ?'''<br />
DINEOF is intended for users who need to repeat calculation a number of times (be it because they are scientists who will need to test different parameter values on reconstuctions, or operational users aiming a recalculating regularly new analysis). In this case, rather then click every time across a series of menues, a command line approach with batch files is much more efficient. For the occasional user, a GUI is under development.<br />
<br />
* ''' Can I use DINEOF with 1D or 3D fields instead of 2D images?'''<br />
<br />
Yes, as DINEOF does not know anything about spatial position and even in the 2D case simply stacks all values of a given moment into a column vector. The same can be done for 1D and 3D very easily.<br />
</div><div style="float: left; width: 45%"><br />
[[File:DINEOF faq.png|frameless|super|right|350px]]<br />
</div></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DINEOF
DINEOF
2015-01-23T12:07:22Z
<p>Jmb: /* FAQ */</p>
<hr />
<div>[[Image:Dineof_logo.png|left|100px]] DINEOF is an EOF-based method to fill in missing data from geophysical fields, such as clouds in sea surface temperature. This page contains basic instructions to download and compile DINEOF. The source code and binaries are freely available for download right here!:<br />
<br />
<br />
<br />
<html><br />
<center><br />
<a href="/mediawiki/upload/DINEOF/Package-3.0/dineof-3.0.zip" class="DownloadButton DownloadButtonUnknownOS">Download DINEOF now!<br/><br />
<p></p><br />
<span style="font-weight:bold; font-size: 36px;">⇩</span><br />
</a><br />
</center><br />
</html><br />
<br />
For more information on how DINEOF works, please refer to [[DINEOF_references | Alvera-Azcarate et al (2005)]] and [[DINEOF_references | Beckers and Rixen (2003)]] The multivariate application of DINEOF is explained in Alvera-Azcarate et al (2007), and in [[DINEOF_references | Beckers et al (2006)]] the error calculation using an optimal interpolation approach is explained. If you need a copy of any of these papers, don't hesitate to contact us! For more information about the Lanczos solver, see Toumazou and Cretaux (2001). <br />
<br />
<center><br />
If you want to try DINEOF without installation on standard satellite data sets: <br />
</center><br />
<center><br />
http://www.dineof.net/<br />
</center><br />
<br />
<br />
== An example ==<br />
<br />
<!--[[Image:Dineof_onweb_small2.png|frame|Daily Mediterranean Sea SST reconstruction using DINEOF at http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html]]--><br />
<br />
[[Image:Dineof_logo.png|link=DINEOF|left|60px]] Go directly to the [[DINEOF |DINEOF home page]]<br />
<html><br />
<div style="float: right; border: 1px solid gray; padding:10px; margin:10px"><br />
<a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_cloudy.html"> <img src="http://gher-diva.phys.ulg.ac.be/DINEOF/WebRec/Cloudy/DINEOF2_10.png" width="397" height="142" alt="DINEOF reconstruction" title="DINEOF reconstruction"/></a><br />
<p><center><a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html">Daily Mediterranean Sea SST reconstruction using DINEOF</a></center></p><br />
</div><br />
</html><br />
<br />
You can see [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_all.html here] a daily reconstruction of the Sea Surface Temperature of the Western Mediterranean Sea, and [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_allCAN.html here] for the Canary-Madeira region.<br />
<br />
<br />
Daily filled fields, error maps and outliers for the past ten days are shown in the mentioned web page. The reconstruction is done on 6 months of data, and the whole procedure takes about two hours. The steps taken are the following:<br />
* Download cloudy data <br />
* Run DINEOF for outlier detection<br />
* Remove outliers from initial data set<br />
* Re-run DINEOF on the cleaned data set<br />
* Calculate outliers<br />
* Make plots, and display on web page<br />
<br />
<br />
This product is updated daily with the latest SST data from the Mediterranean Sea.<br />
<br />
== Getting started ==<br />
<br />
* [[Download_DINEOF | Download DINEOF!]]<br />
* [[Requirements_DINEOF | What do you need to run the code? Requirements]]<br />
* [[DINEOF Compilation]]<br />
* [[Running Examples | Running the examples]]<br />
* [[DINEOF format |Input/Output formats: preparing your own data]]<br />
* [[DINEOF init file | The init file]]<br />
* [[Output files | Output files]]<br />
* [[DINEOF output | The text output ]]<br />
* [[Troubleshooting | Troubleshooting ]]<br />
<br />
== List of DINEOF References ==<br />
<br />
[[DINEOF_references | A list of publications]] made by our group about DINEOF and papers related to its development. There is also a list of papers by other people is using DINEOF for their research<br />
<br />
<br />
<br />
== Problems/Feedback ==<br />
<br />
If you have problems to install or use DINEOF, we would be glad to help you. We have created a mailing list where you can ask your questions, and check the questions already posted by others. You can join as a member by going to: http://groups.google.com/group/dineof. Once you are a member, you can ask your question by sending an email to: '''dineof at googlegroups dot com''' (with obvious substitutions). Please join our discussion group! See also [[Troubleshooting]]<br />
<br />
<br />
In order for us to help you, please provide the following information when reporting your problem through the mailing list:<br />
<br />
# Which version of DINEOF is used. Did you compile it yourself or did you use the binaries we provide?<br />
# Which operating system and which version are you working on? (for example: Windows 8.1, Ubuntu 14.04 ...)<br />
# Are you working on a 32-bit or 64 bit CPU?<br />
# Error message (the exact screen output, please)<br />
<br />
<br />
If you are compiling DINEOF from source, please make sure to give us also the following information:<br />
# Which Fortran compiler (and which version) are you using (for example, gfortran 4.8.0)<br />
# Compiler flags used to compile ARPACK (If you did not compile ARPACK by yourself, then you can just specify from where you got the compiled library, e.g. Ubuntu software repository or MacPorts).<br />
# Your Makefile and the corresponding file in Compilers/ (e.g. Linux-gfortran.mk if you use gfortran on Linux).<br />
# Compile log (make.log) generated by compiling DINEOF:<br />
<br />
make clean all > make.log<br />
<br />
If you think there is a bug, please provide a stripped-down version of your problem which still exhibits the problem.<br />
<br />
'''Please do not omit any of those points. The more information you provide, the more likely it will be that we can help you.'''<br />
<br />
== FAQ ==<br />
<br />
In construction!!<br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
* '''Are there other ways to use DINEOF than with the compiled Fortran code?''' <br />
<br />
There is an R code available but not controlled, validated or maintained by our group: <br />
http://menugget.blogspot.be/2012/10/dineof-data-interpolating-empirical.html#uds-search-results<br />
<br />
Then there is an online version for use with standard satellite data: http://www.dineof.net/<br />
<br />
A matlab wrapper can be found here https://svn.oss.deltares.nl/repos/openearthtools/trunk/matlab/applications/+dineof/<br />
<br />
There also seems to be an ArcGIS implementation: http://proceedings.spiedigitallibrary.org/proceeding.aspx?articleid=1897232<br />
<br />
Finally an IDL wrapper was probably prepared : https://groups.google.com/forum/#!topic/dineof/PbkQwu8t7Z4<br />
<br />
<br />
* '''Does the reconstruction take into account the time proximity of the images, i.e., does yesterday's image influence more than an image 6 months ago?''' <br />
<br />
All the images have the same weight in the reconstruction. But in the recent versions, a filter is applied on the time-covariance matrix. This filtering provides a better consistence between successive images. Also note that even if there is no '''explicit''' information on time closeness, if the process is more correlated to recent events, the EOF decomposition will detect it and provide naturally a reconstruction which uses recent information rather than older ones. <br />
<br />
* '''How many days/months/years of data are necessary for a reconstruction?'''<br />
<br />
As a general rule, the longest time series of images will provide the best results, as the principal modes of variability will be well reproduced. However, if the memory usage is limited, then the time series can be shortened.<br />
<br />
* '''Is it possible to reconstruct images with almost 100% of missing data?'''<br />
<br />
Yes, it is possible, but the result may not be reliable. In general, images containing less than 5% of data do not provide useful information <br />
and might aﬀect the final result. <br />
<br />
* '''How to deal with clouds that are not well detected by the algorithms?'''<br />
<br />
There is now a quality control implemented in DINEOF: it provides a list of suspect pixel values according to:<br />
# the proximity with detected clouds<br />
# the distance to the local median value<br />
# the spatial coherence with the reconstruction<br />
<br />
* '''Why the reconstruction does partially remove gradients or variability?'''<br />
<br />
Because the reconstruction with DINEOF is obtained as a truncated EOF decomposition. There are higher-order modes that are not considered for the final reconstruction, as the reconstruction with this number of modes does not provide the minimal cross-validation error. <br />
<br />
It is also possible to keep the original pixels and only fill in the clouds. Doing so, the gradients and the variability is conserved but there might be artefacts at the edges of the filled regions.<br />
<br />
* ''' Why isn't there any graphical user interface yet ?'''<br />
DINEOF is intended for users who need to repeat calculation a number of times (be it because they are scientists who will need to test different parameter values on reconstuctions, or operational users aiming a recalculating regularly new analysis). In this case, rather then click every time across a series of menues, a command line approach with batch files is much more efficient. For the occasional user, a GUI is under development.<br />
<br />
* ''' Can I use DINEOF with 1D or 3D fields instead of 2D images?'''<br />
<br />
Yes, as DINEOF does not know anything about spatial position and even in the 2D case simply stacks all values of a given moment into a column vector. The same can be done for 1D and 3D very easily.<br />
</div><div style="float: left; width: 45%"><br />
[[File:DINEOF faq.png|frameless|super|right|350px]]<br />
</div></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DINEOF
DINEOF
2015-01-23T11:48:25Z
<p>Jmb: /* FAQ */</p>
<hr />
<div>[[Image:Dineof_logo.png|left|100px]] DINEOF is an EOF-based method to fill in missing data from geophysical fields, such as clouds in sea surface temperature. This page contains basic instructions to download and compile DINEOF. The source code and binaries are freely available for download right here!:<br />
<br />
<br />
<br />
<html><br />
<center><br />
<a href="/mediawiki/upload/DINEOF/Package-3.0/dineof-3.0.zip" class="DownloadButton DownloadButtonUnknownOS">Download DINEOF now!<br/><br />
<p></p><br />
<span style="font-weight:bold; font-size: 36px;">⇩</span><br />
</a><br />
</center><br />
</html><br />
<br />
For more information on how DINEOF works, please refer to [[DINEOF_references | Alvera-Azcarate et al (2005)]] and [[DINEOF_references | Beckers and Rixen (2003)]] The multivariate application of DINEOF is explained in Alvera-Azcarate et al (2007), and in [[DINEOF_references | Beckers et al (2006)]] the error calculation using an optimal interpolation approach is explained. If you need a copy of any of these papers, don't hesitate to contact us! For more information about the Lanczos solver, see Toumazou and Cretaux (2001). <br />
<br />
<center><br />
If you want to try DINEOF without installation on standard satellite data sets: <br />
</center><br />
<center><br />
http://www.dineof.net/<br />
</center><br />
<br />
<br />
== An example ==<br />
<br />
<!--[[Image:Dineof_onweb_small2.png|frame|Daily Mediterranean Sea SST reconstruction using DINEOF at http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html]]--><br />
<br />
[[Image:Dineof_logo.png|link=DINEOF|left|60px]] Go directly to the [[DINEOF |DINEOF home page]]<br />
<html><br />
<div style="float: right; border: 1px solid gray; padding:10px; margin:10px"><br />
<a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_cloudy.html"> <img src="http://gher-diva.phys.ulg.ac.be/DINEOF/WebRec/Cloudy/DINEOF2_10.png" width="397" height="142" alt="DINEOF reconstruction" title="DINEOF reconstruction"/></a><br />
<p><center><a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html">Daily Mediterranean Sea SST reconstruction using DINEOF</a></center></p><br />
</div><br />
</html><br />
<br />
You can see [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_all.html here] a daily reconstruction of the Sea Surface Temperature of the Western Mediterranean Sea, and [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_allCAN.html here] for the Canary-Madeira region.<br />
<br />
<br />
Daily filled fields, error maps and outliers for the past ten days are shown in the mentioned web page. The reconstruction is done on 6 months of data, and the whole procedure takes about two hours. The steps taken are the following:<br />
* Download cloudy data <br />
* Run DINEOF for outlier detection<br />
* Remove outliers from initial data set<br />
* Re-run DINEOF on the cleaned data set<br />
* Calculate outliers<br />
* Make plots, and display on web page<br />
<br />
<br />
This product is updated daily with the latest SST data from the Mediterranean Sea.<br />
<br />
== Getting started ==<br />
<br />
* [[Download_DINEOF | Download DINEOF!]]<br />
* [[Requirements_DINEOF | What do you need to run the code? Requirements]]<br />
* [[DINEOF Compilation]]<br />
* [[Running Examples | Running the examples]]<br />
* [[DINEOF format |Input/Output formats: preparing your own data]]<br />
* [[DINEOF init file | The init file]]<br />
* [[Output files | Output files]]<br />
* [[DINEOF output | The text output ]]<br />
* [[Troubleshooting | Troubleshooting ]]<br />
<br />
== List of DINEOF References ==<br />
<br />
[[DINEOF_references | A list of publications]] made by our group about DINEOF and papers related to its development. There is also a list of papers by other people is using DINEOF for their research<br />
<br />
<br />
<br />
== Problems/Feedback ==<br />
<br />
If you have problems to install or use DINEOF, we would be glad to help you. We have created a mailing list where you can ask your questions, and check the questions already posted by others. You can join as a member by going to: http://groups.google.com/group/dineof. Once you are a member, you can ask your question by sending an email to: '''dineof at googlegroups dot com''' (with obvious substitutions). Please join our discussion group! See also [[Troubleshooting]]<br />
<br />
<br />
In order for us to help you, please provide the following information when reporting your problem through the mailing list:<br />
<br />
# Which version of DINEOF is used. Did you compile it yourself or did you use the binaries we provide?<br />
# Which operating system and which version are you working on? (for example: Windows 8.1, Ubuntu 14.04 ...)<br />
# Are you working on a 32-bit or 64 bit CPU?<br />
# Error message (the exact screen output, please)<br />
<br />
<br />
If you are compiling DINEOF from source, please make sure to give us also the following information:<br />
# Which Fortran compiler (and which version) are you using (for example, gfortran 4.8.0)<br />
# Compiler flags used to compile ARPACK (If you did not compile ARPACK by yourself, then you can just specify from where you got the compiled library, e.g. Ubuntu software repository or MacPorts).<br />
# Your Makefile and the corresponding file in Compilers/ (e.g. Linux-gfortran.mk if you use gfortran on Linux).<br />
# Compile log (make.log) generated by compiling DINEOF:<br />
<br />
make clean all > make.log<br />
<br />
If you think there is a bug, please provide a stripped-down version of your problem which still exhibits the problem.<br />
<br />
'''Please do not omit any of those points. The more information you provide, the more likely it will be that we can help you.'''<br />
<br />
== FAQ ==<br />
<br />
In construction!!<br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
* '''Are there other ways to use DINEOF than with the compiled Fortran code?''' <br />
<br />
There is an R code available but not controlled, validated or maintained by our group: <br />
http://menugget.blogspot.be/2012/10/dineof-data-interpolating-empirical.html#uds-search-results<br />
<br />
Then there is an online version for use with standard satellite data: http://www.dineof.net/<br />
<br />
A matlab wrapper can be found here https://svn.oss.deltares.nl/repos/openearthtools/trunk/matlab/applications/+dineof/<br />
<br />
There also seems to be an ArcGIS implementation: http://proceedings.spiedigitallibrary.org/proceeding.aspx?articleid=1897232<br />
<br />
<br />
<br />
* '''Does the reconstruction take into account the time proximity of the images, i.e., does yesterday's image influence more than an image 6 months ago?''' <br />
<br />
All the images have the same weight in the reconstruction. But in the recent versions, a filter is applied on the time-covariance matrix. This filtering provides a better consistence between successive images. Also note that even if there is no '''explicit''' information on time closeness, if the process is more correlated to recent events, the EOF decomposition will detect it and provide naturally a reconstruction which uses recent information rather than older ones. <br />
<br />
* '''How many days/months/years of data are necessary for a reconstruction?'''<br />
<br />
As a general rule, the longest time series of images will provide the best results, as the principal modes of variability will be well reproduced. However, if the memory usage is limited, then the time series can be shortened.<br />
<br />
* '''Is it possible to reconstruct images with almost 100% of missing data?'''<br />
<br />
Yes, it is possible, but the result may not be reliable. In general, images containing less than 5% of data do not provide useful information <br />
and might aﬀect the final result. <br />
<br />
* '''How to deal with clouds that are not well detected by the algorithms?'''<br />
<br />
There is now a quality control implemented in DINEOF: it provides a list of suspect pixel values according to:<br />
# the proximity with detected clouds<br />
# the distance to the local median value<br />
# the spatial coherence with the reconstruction<br />
<br />
* '''Why the reconstruction does partially remove gradients or variability?'''<br />
<br />
Because the reconstruction with DINEOF is obtained as a truncated EOF decomposition. There are higher-order modes that are not considered for the final reconstruction, as the reconstruction with this number of modes does not provide the minimal cross-validation error. <br />
<br />
It is also possible to keep the original pixels and only fill in the clouds. Doing so, the gradients and the variability is conserved but there might be artefacts at the edges of the filled regions.<br />
<br />
* ''' Why isn't there any graphical user interface yet ?'''<br />
DINEOF is intended for users who need to repeat calculation a number of times (be it because they are scientists who will need to test different parameter values on reconstuctions, or operational users aiming a recalculating regularly new analysis). In this case, rather then click every time across a series of menues, a command line approach with batch files is much more efficient. For the occasional user, a GUI is under development.<br />
<br />
* ''' Can I use DINEOF with 1D or 3D fields instead of 2D images?'''<br />
<br />
Yes, as DINEOF does not know anything about spatial position and even in the 2D case simply stacks all values of a given moment into a column vector. The same can be done for 1D and 3D very easily.<br />
</div><div style="float: left; width: 45%"><br />
[[File:DINEOF faq.png|frameless|super|right|350px]]<br />
</div></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DINEOF
DINEOF
2015-01-23T11:48:08Z
<p>Jmb: /* FAQ */</p>
<hr />
<div>[[Image:Dineof_logo.png|left|100px]] DINEOF is an EOF-based method to fill in missing data from geophysical fields, such as clouds in sea surface temperature. This page contains basic instructions to download and compile DINEOF. The source code and binaries are freely available for download right here!:<br />
<br />
<br />
<br />
<html><br />
<center><br />
<a href="/mediawiki/upload/DINEOF/Package-3.0/dineof-3.0.zip" class="DownloadButton DownloadButtonUnknownOS">Download DINEOF now!<br/><br />
<p></p><br />
<span style="font-weight:bold; font-size: 36px;">⇩</span><br />
</a><br />
</center><br />
</html><br />
<br />
For more information on how DINEOF works, please refer to [[DINEOF_references | Alvera-Azcarate et al (2005)]] and [[DINEOF_references | Beckers and Rixen (2003)]] The multivariate application of DINEOF is explained in Alvera-Azcarate et al (2007), and in [[DINEOF_references | Beckers et al (2006)]] the error calculation using an optimal interpolation approach is explained. If you need a copy of any of these papers, don't hesitate to contact us! For more information about the Lanczos solver, see Toumazou and Cretaux (2001). <br />
<br />
<center><br />
If you want to try DINEOF without installation on standard satellite data sets: <br />
</center><br />
<center><br />
http://www.dineof.net/<br />
</center><br />
<br />
<br />
== An example ==<br />
<br />
<!--[[Image:Dineof_onweb_small2.png|frame|Daily Mediterranean Sea SST reconstruction using DINEOF at http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html]]--><br />
<br />
[[Image:Dineof_logo.png|link=DINEOF|left|60px]] Go directly to the [[DINEOF |DINEOF home page]]<br />
<html><br />
<div style="float: right; border: 1px solid gray; padding:10px; margin:10px"><br />
<a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_cloudy.html"> <img src="http://gher-diva.phys.ulg.ac.be/DINEOF/WebRec/Cloudy/DINEOF2_10.png" width="397" height="142" alt="DINEOF reconstruction" title="DINEOF reconstruction"/></a><br />
<p><center><a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html">Daily Mediterranean Sea SST reconstruction using DINEOF</a></center></p><br />
</div><br />
</html><br />
<br />
You can see [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_all.html here] a daily reconstruction of the Sea Surface Temperature of the Western Mediterranean Sea, and [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_allCAN.html here] for the Canary-Madeira region.<br />
<br />
<br />
Daily filled fields, error maps and outliers for the past ten days are shown in the mentioned web page. The reconstruction is done on 6 months of data, and the whole procedure takes about two hours. The steps taken are the following:<br />
* Download cloudy data <br />
* Run DINEOF for outlier detection<br />
* Remove outliers from initial data set<br />
* Re-run DINEOF on the cleaned data set<br />
* Calculate outliers<br />
* Make plots, and display on web page<br />
<br />
<br />
This product is updated daily with the latest SST data from the Mediterranean Sea.<br />
<br />
== Getting started ==<br />
<br />
* [[Download_DINEOF | Download DINEOF!]]<br />
* [[Requirements_DINEOF | What do you need to run the code? Requirements]]<br />
* [[DINEOF Compilation]]<br />
* [[Running Examples | Running the examples]]<br />
* [[DINEOF format |Input/Output formats: preparing your own data]]<br />
* [[DINEOF init file | The init file]]<br />
* [[Output files | Output files]]<br />
* [[DINEOF output | The text output ]]<br />
* [[Troubleshooting | Troubleshooting ]]<br />
<br />
== List of DINEOF References ==<br />
<br />
[[DINEOF_references | A list of publications]] made by our group about DINEOF and papers related to its development. There is also a list of papers by other people is using DINEOF for their research<br />
<br />
<br />
<br />
== Problems/Feedback ==<br />
<br />
If you have problems to install or use DINEOF, we would be glad to help you. We have created a mailing list where you can ask your questions, and check the questions already posted by others. You can join as a member by going to: http://groups.google.com/group/dineof. Once you are a member, you can ask your question by sending an email to: '''dineof at googlegroups dot com''' (with obvious substitutions). Please join our discussion group! See also [[Troubleshooting]]<br />
<br />
<br />
In order for us to help you, please provide the following information when reporting your problem through the mailing list:<br />
<br />
# Which version of DINEOF is used. Did you compile it yourself or did you use the binaries we provide?<br />
# Which operating system and which version are you working on? (for example: Windows 8.1, Ubuntu 14.04 ...)<br />
# Are you working on a 32-bit or 64 bit CPU?<br />
# Error message (the exact screen output, please)<br />
<br />
<br />
If you are compiling DINEOF from source, please make sure to give us also the following information:<br />
# Which Fortran compiler (and which version) are you using (for example, gfortran 4.8.0)<br />
# Compiler flags used to compile ARPACK (If you did not compile ARPACK by yourself, then you can just specify from where you got the compiled library, e.g. Ubuntu software repository or MacPorts).<br />
# Your Makefile and the corresponding file in Compilers/ (e.g. Linux-gfortran.mk if you use gfortran on Linux).<br />
# Compile log (make.log) generated by compiling DINEOF:<br />
<br />
make clean all > make.log<br />
<br />
If you think there is a bug, please provide a stripped-down version of your problem which still exhibits the problem.<br />
<br />
'''Please do not omit any of those points. The more information you provide, the more likely it will be that we can help you.'''<br />
<br />
== FAQ ==<br />
<br />
In construction!!<br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
* '''Are there other ways to use DINEOF than with the compiled the Fortran code?''' <br />
<br />
There is an R code available but not controlled, validated or maintained by our group: <br />
http://menugget.blogspot.be/2012/10/dineof-data-interpolating-empirical.html#uds-search-results<br />
<br />
Then there is an online version for use with standard satellite data: http://www.dineof.net/<br />
<br />
A matlab wrapper can be found here https://svn.oss.deltares.nl/repos/openearthtools/trunk/matlab/applications/+dineof/<br />
<br />
There also seems to be an ArcGIS implementation: http://proceedings.spiedigitallibrary.org/proceeding.aspx?articleid=1897232<br />
<br />
<br />
<br />
* '''Does the reconstruction take into account the time proximity of the images, i.e., does yesterday's image influence more than an image 6 months ago?''' <br />
<br />
All the images have the same weight in the reconstruction. But in the recent versions, a filter is applied on the time-covariance matrix. This filtering provides a better consistence between successive images. Also note that even if there is no '''explicit''' information on time closeness, if the process is more correlated to recent events, the EOF decomposition will detect it and provide naturally a reconstruction which uses recent information rather than older ones. <br />
<br />
* '''How many days/months/years of data are necessary for a reconstruction?'''<br />
<br />
As a general rule, the longest time series of images will provide the best results, as the principal modes of variability will be well reproduced. However, if the memory usage is limited, then the time series can be shortened.<br />
<br />
* '''Is it possible to reconstruct images with almost 100% of missing data?'''<br />
<br />
Yes, it is possible, but the result may not be reliable. In general, images containing less than 5% of data do not provide useful information <br />
and might aﬀect the final result. <br />
<br />
* '''How to deal with clouds that are not well detected by the algorithms?'''<br />
<br />
There is now a quality control implemented in DINEOF: it provides a list of suspect pixel values according to:<br />
# the proximity with detected clouds<br />
# the distance to the local median value<br />
# the spatial coherence with the reconstruction<br />
<br />
* '''Why the reconstruction does partially remove gradients or variability?'''<br />
<br />
Because the reconstruction with DINEOF is obtained as a truncated EOF decomposition. There are higher-order modes that are not considered for the final reconstruction, as the reconstruction with this number of modes does not provide the minimal cross-validation error. <br />
<br />
It is also possible to keep the original pixels and only fill in the clouds. Doing so, the gradients and the variability is conserved but there might be artefacts at the edges of the filled regions.<br />
<br />
* ''' Why isn't there any graphical user interface yet ?'''<br />
DINEOF is intended for users who need to repeat calculation a number of times (be it because they are scientists who will need to test different parameter values on reconstuctions, or operational users aiming a recalculating regularly new analysis). In this case, rather then click every time across a series of menues, a command line approach with batch files is much more efficient. For the occasional user, a GUI is under development.<br />
<br />
* ''' Can I use DINEOF with 1D or 3D fields instead of 2D images?'''<br />
<br />
Yes, as DINEOF does not know anything about spatial position and even in the 2D case simply stacks all values of a given moment into a column vector. The same can be done for 1D and 3D very easily.<br />
</div><div style="float: left; width: 45%"><br />
[[File:DINEOF faq.png|frameless|super|right|350px]]<br />
</div></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DINEOF
DINEOF
2015-01-23T11:47:54Z
<p>Jmb: /* FAQ */</p>
<hr />
<div>[[Image:Dineof_logo.png|left|100px]] DINEOF is an EOF-based method to fill in missing data from geophysical fields, such as clouds in sea surface temperature. This page contains basic instructions to download and compile DINEOF. The source code and binaries are freely available for download right here!:<br />
<br />
<br />
<br />
<html><br />
<center><br />
<a href="/mediawiki/upload/DINEOF/Package-3.0/dineof-3.0.zip" class="DownloadButton DownloadButtonUnknownOS">Download DINEOF now!<br/><br />
<p></p><br />
<span style="font-weight:bold; font-size: 36px;">⇩</span><br />
</a><br />
</center><br />
</html><br />
<br />
For more information on how DINEOF works, please refer to [[DINEOF_references | Alvera-Azcarate et al (2005)]] and [[DINEOF_references | Beckers and Rixen (2003)]] The multivariate application of DINEOF is explained in Alvera-Azcarate et al (2007), and in [[DINEOF_references | Beckers et al (2006)]] the error calculation using an optimal interpolation approach is explained. If you need a copy of any of these papers, don't hesitate to contact us! For more information about the Lanczos solver, see Toumazou and Cretaux (2001). <br />
<br />
<center><br />
If you want to try DINEOF without installation on standard satellite data sets: <br />
</center><br />
<center><br />
http://www.dineof.net/<br />
</center><br />
<br />
<br />
== An example ==<br />
<br />
<!--[[Image:Dineof_onweb_small2.png|frame|Daily Mediterranean Sea SST reconstruction using DINEOF at http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html]]--><br />
<br />
[[Image:Dineof_logo.png|link=DINEOF|left|60px]] Go directly to the [[DINEOF |DINEOF home page]]<br />
<html><br />
<div style="float: right; border: 1px solid gray; padding:10px; margin:10px"><br />
<a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_cloudy.html"> <img src="http://gher-diva.phys.ulg.ac.be/DINEOF/WebRec/Cloudy/DINEOF2_10.png" width="397" height="142" alt="DINEOF reconstruction" title="DINEOF reconstruction"/></a><br />
<p><center><a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html">Daily Mediterranean Sea SST reconstruction using DINEOF</a></center></p><br />
</div><br />
</html><br />
<br />
You can see [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_all.html here] a daily reconstruction of the Sea Surface Temperature of the Western Mediterranean Sea, and [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_allCAN.html here] for the Canary-Madeira region.<br />
<br />
<br />
Daily filled fields, error maps and outliers for the past ten days are shown in the mentioned web page. The reconstruction is done on 6 months of data, and the whole procedure takes about two hours. The steps taken are the following:<br />
* Download cloudy data <br />
* Run DINEOF for outlier detection<br />
* Remove outliers from initial data set<br />
* Re-run DINEOF on the cleaned data set<br />
* Calculate outliers<br />
* Make plots, and display on web page<br />
<br />
<br />
This product is updated daily with the latest SST data from the Mediterranean Sea.<br />
<br />
== Getting started ==<br />
<br />
* [[Download_DINEOF | Download DINEOF!]]<br />
* [[Requirements_DINEOF | What do you need to run the code? Requirements]]<br />
* [[DINEOF Compilation]]<br />
* [[Running Examples | Running the examples]]<br />
* [[DINEOF format |Input/Output formats: preparing your own data]]<br />
* [[DINEOF init file | The init file]]<br />
* [[Output files | Output files]]<br />
* [[DINEOF output | The text output ]]<br />
* [[Troubleshooting | Troubleshooting ]]<br />
<br />
== List of DINEOF References ==<br />
<br />
[[DINEOF_references | A list of publications]] made by our group about DINEOF and papers related to its development. There is also a list of papers by other people is using DINEOF for their research<br />
<br />
<br />
<br />
== Problems/Feedback ==<br />
<br />
If you have problems to install or use DINEOF, we would be glad to help you. We have created a mailing list where you can ask your questions, and check the questions already posted by others. You can join as a member by going to: http://groups.google.com/group/dineof. Once you are a member, you can ask your question by sending an email to: '''dineof at googlegroups dot com''' (with obvious substitutions). Please join our discussion group! See also [[Troubleshooting]]<br />
<br />
<br />
In order for us to help you, please provide the following information when reporting your problem through the mailing list:<br />
<br />
# Which version of DINEOF is used. Did you compile it yourself or did you use the binaries we provide?<br />
# Which operating system and which version are you working on? (for example: Windows 8.1, Ubuntu 14.04 ...)<br />
# Are you working on a 32-bit or 64 bit CPU?<br />
# Error message (the exact screen output, please)<br />
<br />
<br />
If you are compiling DINEOF from source, please make sure to give us also the following information:<br />
# Which Fortran compiler (and which version) are you using (for example, gfortran 4.8.0)<br />
# Compiler flags used to compile ARPACK (If you did not compile ARPACK by yourself, then you can just specify from where you got the compiled library, e.g. Ubuntu software repository or MacPorts).<br />
# Your Makefile and the corresponding file in Compilers/ (e.g. Linux-gfortran.mk if you use gfortran on Linux).<br />
# Compile log (make.log) generated by compiling DINEOF:<br />
<br />
make clean all > make.log<br />
<br />
If you think there is a bug, please provide a stripped-down version of your problem which still exhibits the problem.<br />
<br />
'''Please do not omit any of those points. The more information you provide, the more likely it will be that we can help you.'''<br />
<br />
== FAQ ==<br />
<br />
In construction!!<br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
* '''Are there other ways to use DINEOF than with the compiled the Fortran code?''' <br />
<br />
There is an R code available but not controlled, validated or maintained by our group: <br />
http://menugget.blogspot.be/2012/10/dineof-data-interpolating-empirical.html#uds-search-results<br />
<br />
Then there is an online version for use with standard satellite data: http://www.dineof.net/<br />
<br />
A matlab wrapper can be found here https://svn.oss.deltares.nl/repos/openearthtools/trunk/matlab/applications/+dineof/<br />
<br />
<br />
There also seems to be an ArcGIS implementation: http://proceedings.spiedigitallibrary.org/proceeding.aspx?articleid=1897232<br />
<br />
* '''Does the reconstruction take into account the time proximity of the images, i.e., does yesterday's image influence more than an image 6 months ago?''' <br />
<br />
All the images have the same weight in the reconstruction. But in the recent versions, a filter is applied on the time-covariance matrix. This filtering provides a better consistence between successive images. Also note that even if there is no '''explicit''' information on time closeness, if the process is more correlated to recent events, the EOF decomposition will detect it and provide naturally a reconstruction which uses recent information rather than older ones. <br />
<br />
* '''How many days/months/years of data are necessary for a reconstruction?'''<br />
<br />
As a general rule, the longest time series of images will provide the best results, as the principal modes of variability will be well reproduced. However, if the memory usage is limited, then the time series can be shortened.<br />
<br />
* '''Is it possible to reconstruct images with almost 100% of missing data?'''<br />
<br />
Yes, it is possible, but the result may not be reliable. In general, images containing less than 5% of data do not provide useful information <br />
and might aﬀect the final result. <br />
<br />
* '''How to deal with clouds that are not well detected by the algorithms?'''<br />
<br />
There is now a quality control implemented in DINEOF: it provides a list of suspect pixel values according to:<br />
# the proximity with detected clouds<br />
# the distance to the local median value<br />
# the spatial coherence with the reconstruction<br />
<br />
* '''Why the reconstruction does partially remove gradients or variability?'''<br />
<br />
Because the reconstruction with DINEOF is obtained as a truncated EOF decomposition. There are higher-order modes that are not considered for the final reconstruction, as the reconstruction with this number of modes does not provide the minimal cross-validation error. <br />
<br />
It is also possible to keep the original pixels and only fill in the clouds. Doing so, the gradients and the variability is conserved but there might be artefacts at the edges of the filled regions.<br />
<br />
* ''' Why isn't there any graphical user interface yet ?'''<br />
DINEOF is intended for users who need to repeat calculation a number of times (be it because they are scientists who will need to test different parameter values on reconstuctions, or operational users aiming a recalculating regularly new analysis). In this case, rather then click every time across a series of menues, a command line approach with batch files is much more efficient. For the occasional user, a GUI is under development.<br />
<br />
* ''' Can I use DINEOF with 1D or 3D fields instead of 2D images?'''<br />
<br />
Yes, as DINEOF does not know anything about spatial position and even in the 2D case simply stacks all values of a given moment into a column vector. The same can be done for 1D and 3D very easily.<br />
</div><div style="float: left; width: 45%"><br />
[[File:DINEOF faq.png|frameless|super|right|350px]]<br />
</div></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DINEOF
DINEOF
2015-01-23T11:42:40Z
<p>Jmb: </p>
<hr />
<div>[[Image:Dineof_logo.png|left|100px]] DINEOF is an EOF-based method to fill in missing data from geophysical fields, such as clouds in sea surface temperature. This page contains basic instructions to download and compile DINEOF. The source code and binaries are freely available for download right here!:<br />
<br />
<br />
<br />
<html><br />
<center><br />
<a href="/mediawiki/upload/DINEOF/Package-3.0/dineof-3.0.zip" class="DownloadButton DownloadButtonUnknownOS">Download DINEOF now!<br/><br />
<p></p><br />
<span style="font-weight:bold; font-size: 36px;">⇩</span><br />
</a><br />
</center><br />
</html><br />
<br />
For more information on how DINEOF works, please refer to [[DINEOF_references | Alvera-Azcarate et al (2005)]] and [[DINEOF_references | Beckers and Rixen (2003)]] The multivariate application of DINEOF is explained in Alvera-Azcarate et al (2007), and in [[DINEOF_references | Beckers et al (2006)]] the error calculation using an optimal interpolation approach is explained. If you need a copy of any of these papers, don't hesitate to contact us! For more information about the Lanczos solver, see Toumazou and Cretaux (2001). <br />
<br />
<center><br />
If you want to try DINEOF without installation on standard satellite data sets: <br />
</center><br />
<center><br />
http://www.dineof.net/<br />
</center><br />
<br />
<br />
== An example ==<br />
<br />
<!--[[Image:Dineof_onweb_small2.png|frame|Daily Mediterranean Sea SST reconstruction using DINEOF at http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html]]--><br />
<br />
[[Image:Dineof_logo.png|link=DINEOF|left|60px]] Go directly to the [[DINEOF |DINEOF home page]]<br />
<html><br />
<div style="float: right; border: 1px solid gray; padding:10px; margin:10px"><br />
<a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_cloudy.html"> <img src="http://gher-diva.phys.ulg.ac.be/DINEOF/WebRec/Cloudy/DINEOF2_10.png" width="397" height="142" alt="DINEOF reconstruction" title="DINEOF reconstruction"/></a><br />
<p><center><a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html">Daily Mediterranean Sea SST reconstruction using DINEOF</a></center></p><br />
</div><br />
</html><br />
<br />
You can see [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_all.html here] a daily reconstruction of the Sea Surface Temperature of the Western Mediterranean Sea, and [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_allCAN.html here] for the Canary-Madeira region.<br />
<br />
<br />
Daily filled fields, error maps and outliers for the past ten days are shown in the mentioned web page. The reconstruction is done on 6 months of data, and the whole procedure takes about two hours. The steps taken are the following:<br />
* Download cloudy data <br />
* Run DINEOF for outlier detection<br />
* Remove outliers from initial data set<br />
* Re-run DINEOF on the cleaned data set<br />
* Calculate outliers<br />
* Make plots, and display on web page<br />
<br />
<br />
This product is updated daily with the latest SST data from the Mediterranean Sea.<br />
<br />
== Getting started ==<br />
<br />
* [[Download_DINEOF | Download DINEOF!]]<br />
* [[Requirements_DINEOF | What do you need to run the code? Requirements]]<br />
* [[DINEOF Compilation]]<br />
* [[Running Examples | Running the examples]]<br />
* [[DINEOF format |Input/Output formats: preparing your own data]]<br />
* [[DINEOF init file | The init file]]<br />
* [[Output files | Output files]]<br />
* [[DINEOF output | The text output ]]<br />
* [[Troubleshooting | Troubleshooting ]]<br />
<br />
== List of DINEOF References ==<br />
<br />
[[DINEOF_references | A list of publications]] made by our group about DINEOF and papers related to its development. There is also a list of papers by other people is using DINEOF for their research<br />
<br />
<br />
<br />
== Problems/Feedback ==<br />
<br />
If you have problems to install or use DINEOF, we would be glad to help you. We have created a mailing list where you can ask your questions, and check the questions already posted by others. You can join as a member by going to: http://groups.google.com/group/dineof. Once you are a member, you can ask your question by sending an email to: '''dineof at googlegroups dot com''' (with obvious substitutions). Please join our discussion group! See also [[Troubleshooting]]<br />
<br />
<br />
In order for us to help you, please provide the following information when reporting your problem through the mailing list:<br />
<br />
# Which version of DINEOF is used. Did you compile it yourself or did you use the binaries we provide?<br />
# Which operating system and which version are you working on? (for example: Windows 8.1, Ubuntu 14.04 ...)<br />
# Are you working on a 32-bit or 64 bit CPU?<br />
# Error message (the exact screen output, please)<br />
<br />
<br />
If you are compiling DINEOF from source, please make sure to give us also the following information:<br />
# Which Fortran compiler (and which version) are you using (for example, gfortran 4.8.0)<br />
# Compiler flags used to compile ARPACK (If you did not compile ARPACK by yourself, then you can just specify from where you got the compiled library, e.g. Ubuntu software repository or MacPorts).<br />
# Your Makefile and the corresponding file in Compilers/ (e.g. Linux-gfortran.mk if you use gfortran on Linux).<br />
# Compile log (make.log) generated by compiling DINEOF:<br />
<br />
make clean all > make.log<br />
<br />
If you think there is a bug, please provide a stripped-down version of your problem which still exhibits the problem.<br />
<br />
'''Please do not omit any of those points. The more information you provide, the more likely it will be that we can help you.'''<br />
<br />
== FAQ ==<br />
<br />
In construction!!<br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
* '''Are there other ways to use DINEOF than with the compiled the Fortran code?''' <br />
<br />
There is an R code available but not controlled, validated or maintained by our group: <br />
http://menugget.blogspot.be/2012/10/dineof-data-interpolating-empirical.html#uds-search-results<br />
<br />
Then there is an online version for use with standard satellite data: http://www.dineof.net/<br />
<br />
A matlab wrapper can be found here https://svn.oss.deltares.nl/repos/openearthtools/trunk/matlab/applications/+dineof/<br />
<br />
* '''Does the reconstruction take into account the time proximity of the images, i.e., does yesterday's image influence more than an image 6 months ago?''' <br />
<br />
All the images have the same weight in the reconstruction. But in the recent versions, a filter is applied on the time-covariance matrix. This filtering provides a better consistence between successive images. Also note that even if there is no '''explicit''' information on time closeness, if the process is more correlated to recent events, the EOF decomposition will detect it and provide naturally a reconstruction which uses recent information rather than older ones. <br />
<br />
* '''How many days/months/years of data are necessary for a reconstruction?'''<br />
<br />
As a general rule, the longest time series of images will provide the best results, as the principal modes of variability will be well reproduced. However, if the memory usage is limited, then the time series can be shortened.<br />
<br />
* '''Is it possible to reconstruct images with almost 100% of missing data?'''<br />
<br />
Yes, it is possible, but the result may not be reliable. In general, images containing less than 5% of data do not provide useful information <br />
and might aﬀect the final result. <br />
<br />
* '''How to deal with clouds that are not well detected by the algorithms?'''<br />
<br />
There is now a quality control implemented in DINEOF: it provides a list of suspect pixel values according to:<br />
# the proximity with detected clouds<br />
# the distance to the local median value<br />
# the spatial coherence with the reconstruction<br />
<br />
* '''Why the reconstruction does partially remove gradients or variability?'''<br />
<br />
Because the reconstruction with DINEOF is obtained as a truncated EOF decomposition. There are higher-order modes that are not considered for the final reconstruction, as the reconstruction with this number of modes does not provide the minimal cross-validation error. <br />
<br />
It is also possible to keep the original pixels and only fill in the clouds. Doing so, the gradients and the variability is conserved but there might be artefacts at the edges of the filled regions.<br />
<br />
* ''' Why isn't there any graphical user interface yet ?'''<br />
DINEOF is intended for users who need to repeat calculation a number of times (be it because they are scientists who will need to test different parameter values on reconstuctions, or operational users aiming a recalculating regularly new analysis). In this case, rather then click every time across a series of menues, a command line approach with batch files is much more efficient. For the occasional user, a GUI is under development.<br />
<br />
* ''' Can I use DINEOF with 1D or 3D fields instead of 2D images?'''<br />
<br />
Yes, as DINEOF does not know anything about spatial position and even in the 2D case simply stacks all values of a given moment into a column vector. The same can be done for 1D and 3D very easily.<br />
</div><div style="float: left; width: 45%"><br />
[[File:DINEOF faq.png|frameless|super|right|350px]]<br />
</div></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DINEOF
DINEOF
2015-01-23T11:42:11Z
<p>Jmb: </p>
<hr />
<div>[[Image:Dineof_logo.png|left|100px]] DINEOF is an EOF-based method to fill in missing data from geophysical fields, such as clouds in sea surface temperature. This page contains basic instructions to download and compile DINEOF. The source code and binaries are freely available for download right here!:<br />
<br />
<br />
<br />
<html><br />
<center><br />
<a href="/mediawiki/upload/DINEOF/Package-3.0/dineof-3.0.zip" class="DownloadButton DownloadButtonUnknownOS">Download DINEOF now!<br/><br />
<p></p><br />
<span style="font-weight:bold; font-size: 36px;">⇩</span><br />
</a><br />
</center><br />
</html><br />
<br />
For more information on how DINEOF works, please refer to [[DINEOF_references | Alvera-Azcarate et al (2005)]] and [[DINEOF_references | Beckers and Rixen (2003)]] The multivariate application of DINEOF is explained in Alvera-Azcarate et al (2007), and in [[DINEOF_references | Beckers et al (2006)]] the error calculation using an optimal interpolation approach is explained. If you need a copy of any of these papers, don't hesitate to contact us! For more information about the Lanczos solver, see Toumazou and Cretaux (2001). <br />
<br />
<center><br />
If you want to try DINEOF without installation on standard satellite data sets: http://www.dineof.net/<br />
</center><br />
<br />
<br />
== An example ==<br />
<br />
<!--[[Image:Dineof_onweb_small2.png|frame|Daily Mediterranean Sea SST reconstruction using DINEOF at http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html]]--><br />
<br />
[[Image:Dineof_logo.png|link=DINEOF|left|60px]] Go directly to the [[DINEOF |DINEOF home page]]<br />
<html><br />
<div style="float: right; border: 1px solid gray; padding:10px; margin:10px"><br />
<a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_cloudy.html"> <img src="http://gher-diva.phys.ulg.ac.be/DINEOF/WebRec/Cloudy/DINEOF2_10.png" width="397" height="142" alt="DINEOF reconstruction" title="DINEOF reconstruction"/></a><br />
<p><center><a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html">Daily Mediterranean Sea SST reconstruction using DINEOF</a></center></p><br />
</div><br />
</html><br />
<br />
You can see [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_all.html here] a daily reconstruction of the Sea Surface Temperature of the Western Mediterranean Sea, and [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_allCAN.html here] for the Canary-Madeira region.<br />
<br />
<br />
Daily filled fields, error maps and outliers for the past ten days are shown in the mentioned web page. The reconstruction is done on 6 months of data, and the whole procedure takes about two hours. The steps taken are the following:<br />
* Download cloudy data <br />
* Run DINEOF for outlier detection<br />
* Remove outliers from initial data set<br />
* Re-run DINEOF on the cleaned data set<br />
* Calculate outliers<br />
* Make plots, and display on web page<br />
<br />
<br />
This product is updated daily with the latest SST data from the Mediterranean Sea.<br />
<br />
== Getting started ==<br />
<br />
* [[Download_DINEOF | Download DINEOF!]]<br />
* [[Requirements_DINEOF | What do you need to run the code? Requirements]]<br />
* [[DINEOF Compilation]]<br />
* [[Running Examples | Running the examples]]<br />
* [[DINEOF format |Input/Output formats: preparing your own data]]<br />
* [[DINEOF init file | The init file]]<br />
* [[Output files | Output files]]<br />
* [[DINEOF output | The text output ]]<br />
* [[Troubleshooting | Troubleshooting ]]<br />
<br />
== List of DINEOF References ==<br />
<br />
[[DINEOF_references | A list of publications]] made by our group about DINEOF and papers related to its development. There is also a list of papers by other people is using DINEOF for their research<br />
<br />
<br />
<br />
== Problems/Feedback ==<br />
<br />
If you have problems to install or use DINEOF, we would be glad to help you. We have created a mailing list where you can ask your questions, and check the questions already posted by others. You can join as a member by going to: http://groups.google.com/group/dineof. Once you are a member, you can ask your question by sending an email to: '''dineof at googlegroups dot com''' (with obvious substitutions). Please join our discussion group! See also [[Troubleshooting]]<br />
<br />
<br />
In order for us to help you, please provide the following information when reporting your problem through the mailing list:<br />
<br />
# Which version of DINEOF is used. Did you compile it yourself or did you use the binaries we provide?<br />
# Which operating system and which version are you working on? (for example: Windows 8.1, Ubuntu 14.04 ...)<br />
# Are you working on a 32-bit or 64 bit CPU?<br />
# Error message (the exact screen output, please)<br />
<br />
<br />
If you are compiling DINEOF from source, please make sure to give us also the following information:<br />
# Which Fortran compiler (and which version) are you using (for example, gfortran 4.8.0)<br />
# Compiler flags used to compile ARPACK (If you did not compile ARPACK by yourself, then you can just specify from where you got the compiled library, e.g. Ubuntu software repository or MacPorts).<br />
# Your Makefile and the corresponding file in Compilers/ (e.g. Linux-gfortran.mk if you use gfortran on Linux).<br />
# Compile log (make.log) generated by compiling DINEOF:<br />
<br />
make clean all > make.log<br />
<br />
If you think there is a bug, please provide a stripped-down version of your problem which still exhibits the problem.<br />
<br />
'''Please do not omit any of those points. The more information you provide, the more likely it will be that we can help you.'''<br />
<br />
== FAQ ==<br />
<br />
In construction!!<br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
* '''Are there other ways to use DINEOF than with the compiled the Fortran code?''' <br />
<br />
There is an R code available but not controlled, validated or maintained by our group: <br />
http://menugget.blogspot.be/2012/10/dineof-data-interpolating-empirical.html#uds-search-results<br />
<br />
Then there is an online version for use with standard satellite data: http://www.dineof.net/<br />
<br />
A matlab wrapper can be found here https://svn.oss.deltares.nl/repos/openearthtools/trunk/matlab/applications/+dineof/<br />
<br />
* '''Does the reconstruction take into account the time proximity of the images, i.e., does yesterday's image influence more than an image 6 months ago?''' <br />
<br />
All the images have the same weight in the reconstruction. But in the recent versions, a filter is applied on the time-covariance matrix. This filtering provides a better consistence between successive images. Also note that even if there is no '''explicit''' information on time closeness, if the process is more correlated to recent events, the EOF decomposition will detect it and provide naturally a reconstruction which uses recent information rather than older ones. <br />
<br />
* '''How many days/months/years of data are necessary for a reconstruction?'''<br />
<br />
As a general rule, the longest time series of images will provide the best results, as the principal modes of variability will be well reproduced. However, if the memory usage is limited, then the time series can be shortened.<br />
<br />
* '''Is it possible to reconstruct images with almost 100% of missing data?'''<br />
<br />
Yes, it is possible, but the result may not be reliable. In general, images containing less than 5% of data do not provide useful information <br />
and might aﬀect the final result. <br />
<br />
* '''How to deal with clouds that are not well detected by the algorithms?'''<br />
<br />
There is now a quality control implemented in DINEOF: it provides a list of suspect pixel values according to:<br />
# the proximity with detected clouds<br />
# the distance to the local median value<br />
# the spatial coherence with the reconstruction<br />
<br />
* '''Why the reconstruction does partially remove gradients or variability?'''<br />
<br />
Because the reconstruction with DINEOF is obtained as a truncated EOF decomposition. There are higher-order modes that are not considered for the final reconstruction, as the reconstruction with this number of modes does not provide the minimal cross-validation error. <br />
<br />
It is also possible to keep the original pixels and only fill in the clouds. Doing so, the gradients and the variability is conserved but there might be artefacts at the edges of the filled regions.<br />
<br />
* ''' Why isn't there any graphical user interface yet ?'''<br />
DINEOF is intended for users who need to repeat calculation a number of times (be it because they are scientists who will need to test different parameter values on reconstuctions, or operational users aiming a recalculating regularly new analysis). In this case, rather then click every time across a series of menues, a command line approach with batch files is much more efficient. For the occasional user, a GUI is under development.<br />
<br />
* ''' Can I use DINEOF with 1D or 3D fields instead of 2D images?'''<br />
<br />
Yes, as DINEOF does not know anything about spatial position and even in the 2D case simply stacks all values of a given moment into a column vector. The same can be done for 1D and 3D very easily.<br />
</div><div style="float: left; width: 45%"><br />
[[File:DINEOF faq.png|frameless|super|right|350px]]<br />
</div></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DINEOF
DINEOF
2015-01-23T11:41:22Z
<p>Jmb: </p>
<hr />
<div>[[Image:Dineof_logo.png|left|100px]] DINEOF is an EOF-based method to fill in missing data from geophysical fields, such as clouds in sea surface temperature. This page contains basic instructions to download and compile DINEOF. The source code and binaries are freely available for download right here!:<br />
<br />
<br />
<br />
<html><br />
<center><br />
<a href="/mediawiki/upload/DINEOF/Package-3.0/dineof-3.0.zip" class="DownloadButton DownloadButtonUnknownOS">Download DINEOF now!<br/><br />
<p></p><br />
<span style="font-weight:bold; font-size: 36px;">⇩</span><br />
</a><br />
</center><br />
</html><br />
<br />
For more information on how DINEOF works, please refer to [[DINEOF_references | Alvera-Azcarate et al (2005)]] and [[DINEOF_references | Beckers and Rixen (2003)]] The multivariate application of DINEOF is explained in Alvera-Azcarate et al (2007), and in [[DINEOF_references | Beckers et al (2006)]] the error calculation using an optimal interpolation approach is explained. If you need a copy of any of these papers, don't hesitate to contact us! For more information about the Lanczos solver, see Toumazou and Cretaux (2001). If you want to try DINEOF without installation on standard satellite data sets: http://www.dineof.net/<br />
<br />
<br />
<br />
== An example ==<br />
<br />
<!--[[Image:Dineof_onweb_small2.png|frame|Daily Mediterranean Sea SST reconstruction using DINEOF at http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html]]--><br />
<br />
[[Image:Dineof_logo.png|link=DINEOF|left|60px]] Go directly to the [[DINEOF |DINEOF home page]]<br />
<html><br />
<div style="float: right; border: 1px solid gray; padding:10px; margin:10px"><br />
<a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_cloudy.html"> <img src="http://gher-diva.phys.ulg.ac.be/DINEOF/WebRec/Cloudy/DINEOF2_10.png" width="397" height="142" alt="DINEOF reconstruction" title="DINEOF reconstruction"/></a><br />
<p><center><a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html">Daily Mediterranean Sea SST reconstruction using DINEOF</a></center></p><br />
</div><br />
</html><br />
<br />
You can see [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_all.html here] a daily reconstruction of the Sea Surface Temperature of the Western Mediterranean Sea, and [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_allCAN.html here] for the Canary-Madeira region.<br />
<br />
<br />
Daily filled fields, error maps and outliers for the past ten days are shown in the mentioned web page. The reconstruction is done on 6 months of data, and the whole procedure takes about two hours. The steps taken are the following:<br />
* Download cloudy data <br />
* Run DINEOF for outlier detection<br />
* Remove outliers from initial data set<br />
* Re-run DINEOF on the cleaned data set<br />
* Calculate outliers<br />
* Make plots, and display on web page<br />
<br />
<br />
This product is updated daily with the latest SST data from the Mediterranean Sea.<br />
<br />
== Getting started ==<br />
<br />
* [[Download_DINEOF | Download DINEOF!]]<br />
* [[Requirements_DINEOF | What do you need to run the code? Requirements]]<br />
* [[DINEOF Compilation]]<br />
* [[Running Examples | Running the examples]]<br />
* [[DINEOF format |Input/Output formats: preparing your own data]]<br />
* [[DINEOF init file | The init file]]<br />
* [[Output files | Output files]]<br />
* [[DINEOF output | The text output ]]<br />
* [[Troubleshooting | Troubleshooting ]]<br />
<br />
== List of DINEOF References ==<br />
<br />
[[DINEOF_references | A list of publications]] made by our group about DINEOF and papers related to its development. There is also a list of papers by other people is using DINEOF for their research<br />
<br />
<br />
<br />
== Problems/Feedback ==<br />
<br />
If you have problems to install or use DINEOF, we would be glad to help you. We have created a mailing list where you can ask your questions, and check the questions already posted by others. You can join as a member by going to: http://groups.google.com/group/dineof. Once you are a member, you can ask your question by sending an email to: '''dineof at googlegroups dot com''' (with obvious substitutions). Please join our discussion group! See also [[Troubleshooting]]<br />
<br />
<br />
In order for us to help you, please provide the following information when reporting your problem through the mailing list:<br />
<br />
# Which version of DINEOF is used. Did you compile it yourself or did you use the binaries we provide?<br />
# Which operating system and which version are you working on? (for example: Windows 8.1, Ubuntu 14.04 ...)<br />
# Are you working on a 32-bit or 64 bit CPU?<br />
# Error message (the exact screen output, please)<br />
<br />
<br />
If you are compiling DINEOF from source, please make sure to give us also the following information:<br />
# Which Fortran compiler (and which version) are you using (for example, gfortran 4.8.0)<br />
# Compiler flags used to compile ARPACK (If you did not compile ARPACK by yourself, then you can just specify from where you got the compiled library, e.g. Ubuntu software repository or MacPorts).<br />
# Your Makefile and the corresponding file in Compilers/ (e.g. Linux-gfortran.mk if you use gfortran on Linux).<br />
# Compile log (make.log) generated by compiling DINEOF:<br />
<br />
make clean all > make.log<br />
<br />
If you think there is a bug, please provide a stripped-down version of your problem which still exhibits the problem.<br />
<br />
'''Please do not omit any of those points. The more information you provide, the more likely it will be that we can help you.'''<br />
<br />
== FAQ ==<br />
<br />
In construction!!<br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
* '''Are there other ways to use DINEOF than with the compiled the Fortran code?''' <br />
<br />
There is an R code available but not controlled, validated or maintained by our group: <br />
http://menugget.blogspot.be/2012/10/dineof-data-interpolating-empirical.html#uds-search-results<br />
<br />
Then there is an online version for use with standard satellite data: http://www.dineof.net/<br />
<br />
A matlab wrapper can be found here https://svn.oss.deltares.nl/repos/openearthtools/trunk/matlab/applications/+dineof/<br />
<br />
* '''Does the reconstruction take into account the time proximity of the images, i.e., does yesterday's image influence more than an image 6 months ago?''' <br />
<br />
All the images have the same weight in the reconstruction. But in the recent versions, a filter is applied on the time-covariance matrix. This filtering provides a better consistence between successive images. Also note that even if there is no '''explicit''' information on time closeness, if the process is more correlated to recent events, the EOF decomposition will detect it and provide naturally a reconstruction which uses recent information rather than older ones. <br />
<br />
* '''How many days/months/years of data are necessary for a reconstruction?'''<br />
<br />
As a general rule, the longest time series of images will provide the best results, as the principal modes of variability will be well reproduced. However, if the memory usage is limited, then the time series can be shortened.<br />
<br />
* '''Is it possible to reconstruct images with almost 100% of missing data?'''<br />
<br />
Yes, it is possible, but the result may not be reliable. In general, images containing less than 5% of data do not provide useful information <br />
and might aﬀect the final result. <br />
<br />
* '''How to deal with clouds that are not well detected by the algorithms?'''<br />
<br />
There is now a quality control implemented in DINEOF: it provides a list of suspect pixel values according to:<br />
# the proximity with detected clouds<br />
# the distance to the local median value<br />
# the spatial coherence with the reconstruction<br />
<br />
* '''Why the reconstruction does partially remove gradients or variability?'''<br />
<br />
Because the reconstruction with DINEOF is obtained as a truncated EOF decomposition. There are higher-order modes that are not considered for the final reconstruction, as the reconstruction with this number of modes does not provide the minimal cross-validation error. <br />
<br />
It is also possible to keep the original pixels and only fill in the clouds. Doing so, the gradients and the variability is conserved but there might be artefacts at the edges of the filled regions.<br />
<br />
* ''' Why isn't there any graphical user interface yet ?'''<br />
DINEOF is intended for users who need to repeat calculation a number of times (be it because they are scientists who will need to test different parameter values on reconstuctions, or operational users aiming a recalculating regularly new analysis). In this case, rather then click every time across a series of menues, a command line approach with batch files is much more efficient. For the occasional user, a GUI is under development.<br />
<br />
* ''' Can I use DINEOF with 1D or 3D fields instead of 2D images?'''<br />
<br />
Yes, as DINEOF does not know anything about spatial position and even in the 2D case simply stacks all values of a given moment into a column vector. The same can be done for 1D and 3D very easily.<br />
</div><div style="float: left; width: 45%"><br />
[[File:DINEOF faq.png|frameless|super|right|350px]]<br />
</div></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DINEOF
DINEOF
2015-01-23T11:37:58Z
<p>Jmb: /* FAQ */</p>
<hr />
<div>[[Image:Dineof_logo.png|left|100px]] DINEOF is an EOF-based method to fill in missing data from geophysical fields, such as clouds in sea surface temperature. This page contains basic instructions to download and compile DINEOF. The source code and binaries are freely available for download right here!:<br />
<br />
<br />
<br />
<html><br />
<center><br />
<a href="/mediawiki/upload/DINEOF/Package-3.0/dineof-3.0.zip" class="DownloadButton DownloadButtonUnknownOS">Download DINEOF now!<br/><br />
<p></p><br />
<span style="font-weight:bold; font-size: 36px;">⇩</span><br />
</a><br />
</center><br />
</html><br />
<br />
For more information on how DINEOF works, please refer to [[DINEOF_references | Alvera-Azcarate et al (2005)]] and [[DINEOF_references | Beckers and Rixen (2003)]] The multivariate application of DINEOF is explained in Alvera-Azcarate et al (2007), and in [[DINEOF_references | Beckers et al (2006)]] the error calculation using an optimal interpolation approach is explained. If you need a copy of any of these papers, don't hesitate to contact us! For more information about the Lanczos solver, see Toumazou and Cretaux (2001).<br />
<br />
== An example ==<br />
<br />
<!--[[Image:Dineof_onweb_small2.png|frame|Daily Mediterranean Sea SST reconstruction using DINEOF at http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html]]--><br />
<br />
[[Image:Dineof_logo.png|link=DINEOF|left|60px]] Go directly to the [[DINEOF |DINEOF home page]]<br />
<html><br />
<div style="float: right; border: 1px solid gray; padding:10px; margin:10px"><br />
<a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_cloudy.html"> <img src="http://gher-diva.phys.ulg.ac.be/DINEOF/WebRec/Cloudy/DINEOF2_10.png" width="397" height="142" alt="DINEOF reconstruction" title="DINEOF reconstruction"/></a><br />
<p><center><a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html">Daily Mediterranean Sea SST reconstruction using DINEOF</a></center></p><br />
</div><br />
</html><br />
<br />
You can see [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_all.html here] a daily reconstruction of the Sea Surface Temperature of the Western Mediterranean Sea, and [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_allCAN.html here] for the Canary-Madeira region.<br />
<br />
<br />
Daily filled fields, error maps and outliers for the past ten days are shown in the mentioned web page. The reconstruction is done on 6 months of data, and the whole procedure takes about two hours. The steps taken are the following:<br />
* Download cloudy data <br />
* Run DINEOF for outlier detection<br />
* Remove outliers from initial data set<br />
* Re-run DINEOF on the cleaned data set<br />
* Calculate outliers<br />
* Make plots, and display on web page<br />
<br />
<br />
This product is updated daily with the latest SST data from the Mediterranean Sea.<br />
<br />
== Getting started ==<br />
<br />
* [[Download_DINEOF | Download DINEOF!]]<br />
* [[Requirements_DINEOF | What do you need to run the code? Requirements]]<br />
* [[DINEOF Compilation]]<br />
* [[Running Examples | Running the examples]]<br />
* [[DINEOF format |Input/Output formats: preparing your own data]]<br />
* [[DINEOF init file | The init file]]<br />
* [[Output files | Output files]]<br />
* [[DINEOF output | The text output ]]<br />
* [[Troubleshooting | Troubleshooting ]]<br />
<br />
== List of DINEOF References ==<br />
<br />
[[DINEOF_references | A list of publications]] made by our group about DINEOF and papers related to its development. There is also a list of papers by other people is using DINEOF for their research<br />
<br />
<br />
<br />
== Problems/Feedback ==<br />
<br />
If you have problems to install or use DINEOF, we would be glad to help you. We have created a mailing list where you can ask your questions, and check the questions already posted by others. You can join as a member by going to: http://groups.google.com/group/dineof. Once you are a member, you can ask your question by sending an email to: '''dineof at googlegroups dot com''' (with obvious substitutions). Please join our discussion group! See also [[Troubleshooting]]<br />
<br />
<br />
In order for us to help you, please provide the following information when reporting your problem through the mailing list:<br />
<br />
# Which version of DINEOF is used. Did you compile it yourself or did you use the binaries we provide?<br />
# Which operating system and which version are you working on? (for example: Windows 8.1, Ubuntu 14.04 ...)<br />
# Are you working on a 32-bit or 64 bit CPU?<br />
# Error message (the exact screen output, please)<br />
<br />
<br />
If you are compiling DINEOF from source, please make sure to give us also the following information:<br />
# Which Fortran compiler (and which version) are you using (for example, gfortran 4.8.0)<br />
# Compiler flags used to compile ARPACK (If you did not compile ARPACK by yourself, then you can just specify from where you got the compiled library, e.g. Ubuntu software repository or MacPorts).<br />
# Your Makefile and the corresponding file in Compilers/ (e.g. Linux-gfortran.mk if you use gfortran on Linux).<br />
# Compile log (make.log) generated by compiling DINEOF:<br />
<br />
make clean all > make.log<br />
<br />
If you think there is a bug, please provide a stripped-down version of your problem which still exhibits the problem.<br />
<br />
'''Please do not omit any of those points. The more information you provide, the more likely it will be that we can help you.'''<br />
<br />
== FAQ ==<br />
<br />
In construction!!<br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
* '''Are there other ways to use DINEOF than with the compiled the Fortran code?''' <br />
<br />
There is an R code available but not controlled, validated or maintained by our group: <br />
http://menugget.blogspot.be/2012/10/dineof-data-interpolating-empirical.html#uds-search-results<br />
<br />
Then there is an online version for use with standard satellite data: http://www.dineof.net/<br />
<br />
A matlab wrapper can be found here https://svn.oss.deltares.nl/repos/openearthtools/trunk/matlab/applications/+dineof/<br />
<br />
* '''Does the reconstruction take into account the time proximity of the images, i.e., does yesterday's image influence more than an image 6 months ago?''' <br />
<br />
All the images have the same weight in the reconstruction. But in the recent versions, a filter is applied on the time-covariance matrix. This filtering provides a better consistence between successive images. Also note that even if there is no '''explicit''' information on time closeness, if the process is more correlated to recent events, the EOF decomposition will detect it and provide naturally a reconstruction which uses recent information rather than older ones. <br />
<br />
* '''How many days/months/years of data are necessary for a reconstruction?'''<br />
<br />
As a general rule, the longest time series of images will provide the best results, as the principal modes of variability will be well reproduced. However, if the memory usage is limited, then the time series can be shortened.<br />
<br />
* '''Is it possible to reconstruct images with almost 100% of missing data?'''<br />
<br />
Yes, it is possible, but the result may not be reliable. In general, images containing less than 5% of data do not provide useful information <br />
and might aﬀect the final result. <br />
<br />
* '''How to deal with clouds that are not well detected by the algorithms?'''<br />
<br />
There is now a quality control implemented in DINEOF: it provides a list of suspect pixel values according to:<br />
# the proximity with detected clouds<br />
# the distance to the local median value<br />
# the spatial coherence with the reconstruction<br />
<br />
* '''Why the reconstruction does partially remove gradients or variability?'''<br />
<br />
Because the reconstruction with DINEOF is obtained as a truncated EOF decomposition. There are higher-order modes that are not considered for the final reconstruction, as the reconstruction with this number of modes does not provide the minimal cross-validation error. <br />
<br />
It is also possible to keep the original pixels and only fill in the clouds. Doing so, the gradients and the variability is conserved but there might be artefacts at the edges of the filled regions.<br />
<br />
* ''' Why isn't there any graphical user interface yet ?'''<br />
DINEOF is intended for users who need to repeat calculation a number of times (be it because they are scientists who will need to test different parameter values on reconstuctions, or operational users aiming a recalculating regularly new analysis). In this case, rather then click every time across a series of menues, a command line approach with batch files is much more efficient. For the occasional user, a GUI is under development.<br />
<br />
* ''' Can I use DINEOF with 1D or 3D fields instead of 2D images?'''<br />
<br />
Yes, as DINEOF does not know anything about spatial position and even in the 2D case simply stacks all values of a given moment into a column vector. The same can be done for 1D and 3D very easily.<br />
</div><div style="float: left; width: 45%"><br />
[[File:DINEOF faq.png|frameless|super|right|350px]]<br />
</div></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DINEOF
DINEOF
2015-01-23T11:35:29Z
<p>Jmb: /* FAQ */</p>
<hr />
<div>[[Image:Dineof_logo.png|left|100px]] DINEOF is an EOF-based method to fill in missing data from geophysical fields, such as clouds in sea surface temperature. This page contains basic instructions to download and compile DINEOF. The source code and binaries are freely available for download right here!:<br />
<br />
<br />
<br />
<html><br />
<center><br />
<a href="/mediawiki/upload/DINEOF/Package-3.0/dineof-3.0.zip" class="DownloadButton DownloadButtonUnknownOS">Download DINEOF now!<br/><br />
<p></p><br />
<span style="font-weight:bold; font-size: 36px;">⇩</span><br />
</a><br />
</center><br />
</html><br />
<br />
For more information on how DINEOF works, please refer to [[DINEOF_references | Alvera-Azcarate et al (2005)]] and [[DINEOF_references | Beckers and Rixen (2003)]] The multivariate application of DINEOF is explained in Alvera-Azcarate et al (2007), and in [[DINEOF_references | Beckers et al (2006)]] the error calculation using an optimal interpolation approach is explained. If you need a copy of any of these papers, don't hesitate to contact us! For more information about the Lanczos solver, see Toumazou and Cretaux (2001).<br />
<br />
== An example ==<br />
<br />
<!--[[Image:Dineof_onweb_small2.png|frame|Daily Mediterranean Sea SST reconstruction using DINEOF at http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html]]--><br />
<br />
[[Image:Dineof_logo.png|link=DINEOF|left|60px]] Go directly to the [[DINEOF |DINEOF home page]]<br />
<html><br />
<div style="float: right; border: 1px solid gray; padding:10px; margin:10px"><br />
<a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_cloudy.html"> <img src="http://gher-diva.phys.ulg.ac.be/DINEOF/WebRec/Cloudy/DINEOF2_10.png" width="397" height="142" alt="DINEOF reconstruction" title="DINEOF reconstruction"/></a><br />
<p><center><a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html">Daily Mediterranean Sea SST reconstruction using DINEOF</a></center></p><br />
</div><br />
</html><br />
<br />
You can see [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_all.html here] a daily reconstruction of the Sea Surface Temperature of the Western Mediterranean Sea, and [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_allCAN.html here] for the Canary-Madeira region.<br />
<br />
<br />
Daily filled fields, error maps and outliers for the past ten days are shown in the mentioned web page. The reconstruction is done on 6 months of data, and the whole procedure takes about two hours. The steps taken are the following:<br />
* Download cloudy data <br />
* Run DINEOF for outlier detection<br />
* Remove outliers from initial data set<br />
* Re-run DINEOF on the cleaned data set<br />
* Calculate outliers<br />
* Make plots, and display on web page<br />
<br />
<br />
This product is updated daily with the latest SST data from the Mediterranean Sea.<br />
<br />
== Getting started ==<br />
<br />
* [[Download_DINEOF | Download DINEOF!]]<br />
* [[Requirements_DINEOF | What do you need to run the code? Requirements]]<br />
* [[DINEOF Compilation]]<br />
* [[Running Examples | Running the examples]]<br />
* [[DINEOF format |Input/Output formats: preparing your own data]]<br />
* [[DINEOF init file | The init file]]<br />
* [[Output files | Output files]]<br />
* [[DINEOF output | The text output ]]<br />
* [[Troubleshooting | Troubleshooting ]]<br />
<br />
== List of DINEOF References ==<br />
<br />
[[DINEOF_references | A list of publications]] made by our group about DINEOF and papers related to its development. There is also a list of papers by other people is using DINEOF for their research<br />
<br />
<br />
<br />
== Problems/Feedback ==<br />
<br />
If you have problems to install or use DINEOF, we would be glad to help you. We have created a mailing list where you can ask your questions, and check the questions already posted by others. You can join as a member by going to: http://groups.google.com/group/dineof. Once you are a member, you can ask your question by sending an email to: '''dineof at googlegroups dot com''' (with obvious substitutions). Please join our discussion group! See also [[Troubleshooting]]<br />
<br />
<br />
In order for us to help you, please provide the following information when reporting your problem through the mailing list:<br />
<br />
# Which version of DINEOF is used. Did you compile it yourself or did you use the binaries we provide?<br />
# Which operating system and which version are you working on? (for example: Windows 8.1, Ubuntu 14.04 ...)<br />
# Are you working on a 32-bit or 64 bit CPU?<br />
# Error message (the exact screen output, please)<br />
<br />
<br />
If you are compiling DINEOF from source, please make sure to give us also the following information:<br />
# Which Fortran compiler (and which version) are you using (for example, gfortran 4.8.0)<br />
# Compiler flags used to compile ARPACK (If you did not compile ARPACK by yourself, then you can just specify from where you got the compiled library, e.g. Ubuntu software repository or MacPorts).<br />
# Your Makefile and the corresponding file in Compilers/ (e.g. Linux-gfortran.mk if you use gfortran on Linux).<br />
# Compile log (make.log) generated by compiling DINEOF:<br />
<br />
make clean all > make.log<br />
<br />
If you think there is a bug, please provide a stripped-down version of your problem which still exhibits the problem.<br />
<br />
'''Please do not omit any of those points. The more information you provide, the more likely it will be that we can help you.'''<br />
<br />
== FAQ ==<br />
<br />
In construction!!<br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
* '''Are there other ways to use DINEOF than with the compiled the Fortran code?''' <br />
<br />
There is an R code available but not controlled, validated or maintained by our group: <br />
http://menugget.blogspot.be/2012/10/dineof-data-interpolating-empirical.html#uds-search-results<br />
<br />
Then there is an online version for use with standard satellite data:<br />
<br />
A matlab wrapper can be found here https://svn.oss.deltares.nl/repos/openearthtools/trunk/matlab/applications/+dineof/<br />
<br />
* '''Does the reconstruction take into account the time proximity of the images, i.e., does yesterday's image influence more than an image 6 months ago?''' <br />
<br />
All the images have the same weight in the reconstruction. But in the recent versions, a filter is applied on the time-covariance matrix. This filtering provides a better consistence between successive images. Also note that even if there is no '''explicit''' information on time closeness, if the process is more correlated to recent events, the EOF decomposition will detect it and provide naturally a reconstruction which uses recent information rather than older ones. <br />
<br />
* '''How many days/months/years of data are necessary for a reconstruction?'''<br />
<br />
As a general rule, the longest time series of images will provide the best results, as the principal modes of variability will be well reproduced. However, if the memory usage is limited, then the time series can be shortened.<br />
<br />
* '''Is it possible to reconstruct images with almost 100% of missing data?'''<br />
<br />
Yes, it is possible, but the result may not be reliable. In general, images containing less than 5% of data do not provide useful information <br />
and might aﬀect the final result. <br />
<br />
* '''How to deal with clouds that are not well detected by the algorithms?'''<br />
<br />
There is now a quality control implemented in DINEOF: it provides a list of suspect pixel values according to:<br />
# the proximity with detected clouds<br />
# the distance to the local median value<br />
# the spatial coherence with the reconstruction<br />
<br />
* '''Why the reconstruction does partially remove gradients or variability?'''<br />
<br />
Because the reconstruction with DINEOF is obtained as a truncated EOF decomposition. There are higher-order modes that are not considered for the final reconstruction, as the reconstruction with this number of modes does not provide the minimal cross-validation error. <br />
<br />
It is also possible to keep the original pixels and only fill in the clouds. Doing so, the gradients and the variability is conserved but there might be artefacts at the edges of the filled regions.<br />
<br />
* ''' Why isn't there any graphical user interface yet ?'''<br />
DINEOF is intended for users who need to repeat calculation a number of times (be it because they are scientists who will need to test different parameter values on reconstuctions, or operational users aiming a recalculating regularly new analysis). In this case, rather then click every time across a series of menues, a command line approach with batch files is much more efficient. For the occasional user, a GUI is under development.<br />
<br />
* ''' Can I use DINEOF with 1D or 3D fields instead of 2D images?'''<br />
<br />
Yes, as DINEOF does not know anything about spatial position and even in the 2D case simply stacks all values of a given moment into a column vector. The same can be done for 1D and 3D very easily.<br />
</div><div style="float: left; width: 45%"><br />
[[File:DINEOF faq.png|frameless|super|right|350px]]<br />
</div></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DINEOF
DINEOF
2015-01-23T11:28:36Z
<p>Jmb: /* FAQ */</p>
<hr />
<div>[[Image:Dineof_logo.png|left|100px]] DINEOF is an EOF-based method to fill in missing data from geophysical fields, such as clouds in sea surface temperature. This page contains basic instructions to download and compile DINEOF. The source code and binaries are freely available for download right here!:<br />
<br />
<br />
<br />
<html><br />
<center><br />
<a href="/mediawiki/upload/DINEOF/Package-3.0/dineof-3.0.zip" class="DownloadButton DownloadButtonUnknownOS">Download DINEOF now!<br/><br />
<p></p><br />
<span style="font-weight:bold; font-size: 36px;">⇩</span><br />
</a><br />
</center><br />
</html><br />
<br />
For more information on how DINEOF works, please refer to [[DINEOF_references | Alvera-Azcarate et al (2005)]] and [[DINEOF_references | Beckers and Rixen (2003)]] The multivariate application of DINEOF is explained in Alvera-Azcarate et al (2007), and in [[DINEOF_references | Beckers et al (2006)]] the error calculation using an optimal interpolation approach is explained. If you need a copy of any of these papers, don't hesitate to contact us! For more information about the Lanczos solver, see Toumazou and Cretaux (2001).<br />
<br />
== An example ==<br />
<br />
<!--[[Image:Dineof_onweb_small2.png|frame|Daily Mediterranean Sea SST reconstruction using DINEOF at http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html]]--><br />
<br />
[[Image:Dineof_logo.png|link=DINEOF|left|60px]] Go directly to the [[DINEOF |DINEOF home page]]<br />
<html><br />
<div style="float: right; border: 1px solid gray; padding:10px; margin:10px"><br />
<a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_cloudy.html"> <img src="http://gher-diva.phys.ulg.ac.be/DINEOF/WebRec/Cloudy/DINEOF2_10.png" width="397" height="142" alt="DINEOF reconstruction" title="DINEOF reconstruction"/></a><br />
<p><center><a href="http://gher-diva.phys.ulg.ac.be/DINEOF/dineof.html">Daily Mediterranean Sea SST reconstruction using DINEOF</a></center></p><br />
</div><br />
</html><br />
<br />
You can see [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_all.html here] a daily reconstruction of the Sea Surface Temperature of the Western Mediterranean Sea, and [http://gher-diva.phys.ulg.ac.be/DINEOF/dineof_allCAN.html here] for the Canary-Madeira region.<br />
<br />
<br />
Daily filled fields, error maps and outliers for the past ten days are shown in the mentioned web page. The reconstruction is done on 6 months of data, and the whole procedure takes about two hours. The steps taken are the following:<br />
* Download cloudy data <br />
* Run DINEOF for outlier detection<br />
* Remove outliers from initial data set<br />
* Re-run DINEOF on the cleaned data set<br />
* Calculate outliers<br />
* Make plots, and display on web page<br />
<br />
<br />
This product is updated daily with the latest SST data from the Mediterranean Sea.<br />
<br />
== Getting started ==<br />
<br />
* [[Download_DINEOF | Download DINEOF!]]<br />
* [[Requirements_DINEOF | What do you need to run the code? Requirements]]<br />
* [[DINEOF Compilation]]<br />
* [[Running Examples | Running the examples]]<br />
* [[DINEOF format |Input/Output formats: preparing your own data]]<br />
* [[DINEOF init file | The init file]]<br />
* [[Output files | Output files]]<br />
* [[DINEOF output | The text output ]]<br />
* [[Troubleshooting | Troubleshooting ]]<br />
<br />
== List of DINEOF References ==<br />
<br />
[[DINEOF_references | A list of publications]] made by our group about DINEOF and papers related to its development. There is also a list of papers by other people is using DINEOF for their research<br />
<br />
<br />
<br />
== Problems/Feedback ==<br />
<br />
If you have problems to install or use DINEOF, we would be glad to help you. We have created a mailing list where you can ask your questions, and check the questions already posted by others. You can join as a member by going to: http://groups.google.com/group/dineof. Once you are a member, you can ask your question by sending an email to: '''dineof at googlegroups dot com''' (with obvious substitutions). Please join our discussion group! See also [[Troubleshooting]]<br />
<br />
<br />
In order for us to help you, please provide the following information when reporting your problem through the mailing list:<br />
<br />
# Which version of DINEOF is used. Did you compile it yourself or did you use the binaries we provide?<br />
# Which operating system and which version are you working on? (for example: Windows 8.1, Ubuntu 14.04 ...)<br />
# Are you working on a 32-bit or 64 bit CPU?<br />
# Error message (the exact screen output, please)<br />
<br />
<br />
If you are compiling DINEOF from source, please make sure to give us also the following information:<br />
# Which Fortran compiler (and which version) are you using (for example, gfortran 4.8.0)<br />
# Compiler flags used to compile ARPACK (If you did not compile ARPACK by yourself, then you can just specify from where you got the compiled library, e.g. Ubuntu software repository or MacPorts).<br />
# Your Makefile and the corresponding file in Compilers/ (e.g. Linux-gfortran.mk if you use gfortran on Linux).<br />
# Compile log (make.log) generated by compiling DINEOF:<br />
<br />
make clean all > make.log<br />
<br />
If you think there is a bug, please provide a stripped-down version of your problem which still exhibits the problem.<br />
<br />
'''Please do not omit any of those points. The more information you provide, the more likely it will be that we can help you.'''<br />
<br />
== FAQ ==<br />
<br />
In construction!!<br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
* '''Are there other ways to use DINEOF than with the compiled the Fortran code?''' <br />
<br />
There is an R code available but not controlled, validated or maintained by our group: <br />
http://menugget.blogspot.be/2012/10/dineof-data-interpolating-empirical.html#uds-search-results<br />
<br />
Then there is an online version for use with standard satellite data:<br />
<br />
<br />
<br />
* '''Does the reconstruction take into account the time proximity of the images, i.e., does yesterday's image influence more than an image 6 months ago?''' <br />
<br />
All the images have the same weight in the reconstruction. But in the recent versions, a filter is applied on the time-covariance matrix. This filtering provides a better consistence between successive images. Also note that even if there is no '''explicit''' information on time closeness, if the process is more correlated to recent events, the EOF decomposition will detect it and provide naturally a reconstruction which uses recent information rather than older ones. <br />
<br />
* '''How many days/months/years of data are necessary for a reconstruction?'''<br />
<br />
As a general rule, the longest time series of images will provide the best results, as the principal modes of variability will be well reproduced. However, if the memory usage is limited, then the time series can be shortened.<br />
<br />
* '''Is it possible to reconstruct images with almost 100% of missing data?'''<br />
<br />
Yes, it is possible, but the result may not be reliable. In general, images containing less than 5% of data do not provide useful information <br />
and might aﬀect the final result. <br />
<br />
* '''How to deal with clouds that are not well detected by the algorithms?'''<br />
<br />
There is now a quality control implemented in DINEOF: it provides a list of suspect pixel values according to:<br />
# the proximity with detected clouds<br />
# the distance to the local median value<br />
# the spatial coherence with the reconstruction<br />
<br />
* '''Why the reconstruction does partially remove gradients or variability?'''<br />
<br />
Because the reconstruction with DINEOF is obtained as a truncated EOF decomposition. There are higher-order modes that are not considered for the final reconstruction, as the reconstruction with this number of modes does not provide the minimal cross-validation error. <br />
<br />
It is also possible to keep the original pixels and only fill in the clouds. Doing so, the gradients and the variability is conserved but there might be artefacts at the edges of the filled regions.<br />
<br />
* ''' Why isn't there any graphical user interface yet ?'''<br />
DINEOF is intended for users who need to repeat calculation a number of times (be it because they are scientists who will need to test different parameter values on reconstuctions, or operational users aiming a recalculating regularly new analysis). In this case, rather then click every time across a series of menues, a command line approach with batch files is much more efficient. For the occasional user, a GUI is under development.<br />
<br />
* ''' Can I use DINEOF with 1D or 3D fields instead of 2D images?'''<br />
<br />
Yes, as DINEOF does not know anything about spatial position and even in the 2D case simply stacks all values of a given moment into a column vector. The same can be done for 1D and 3D very easily.<br />
</div><div style="float: left; width: 45%"><br />
[[File:DINEOF faq.png|frameless|super|right|350px]]<br />
</div></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Matlab/Octave_scripts
Matlab/Octave scripts
2014-05-09T12:21:27Z
<p>Jmb: /* Download GHER scripts */</p>
<hr />
<div>== Download GHER scripts ==<br />
<br />
To download the scripts, you need an account on modb. On a Linux/Unix computer, the scripts can be downloaded with the <tt>svn</tt> command:<br />
<br />
svn checkout svn+ssh://modb.oce.ulg.ac.be/home/svn/repos/Scripts/trunk Scripts<br />
<br />
''A snapshot of 09/05/2014 can be downloaded as zip file for those not familiar with SVN: '' [http://modb.oce.ulg.ac.be/mediawiki/upload/IO.zip IO.zip]<br />
<br />
The scripts are organized in subdirectories. Currently, it only contains:<br />
<br />
;IO: Input-output functions for the GHER fileformat (in '''big-endian'''; if you experience problems reading or writing GHER binary files, you might need to swith to '''little endian''' by editing '''uwrite.m''' and change line '' format = 'ieee-be' '' into '' format = 'ieee-le' '')<br />
Normally you will just use '''gread.m''' and '''gwrite.m''' in your matlab/codes codes<br />
<br />
<br />
You can include the directory Scripts (with all subdirectories) in your search path by adding the following to your startup.m (matlab) or ~/.octaverc (octave) file:<br />
<br />
addpath(genpath('/path/to/Scripts'))<br />
<br />
More information about SVN:<br />
<br />
* [[Using SVN]]<br />
* [[Install subversion]]<br />
<br />
== Creation of figures ==<br />
<br />
=== 2D field plots ===<br />
<br />
Here we examine the different possibilities to create a colored map. The examples can be tried with articial data:<br />
[x,y,z] = peaks(100);<br />
<br />
==== pcolor ====<br />
<br />
pcolor stands for Pseudocolor (checkerboard) plot. The color of a given cell is specified by the corresponding value of the matrix. The '''shading''' controls the color shading.<br />
<br />
pcolor(x,y,z);<br />
shading flat % or shading interp<br />
<br />
==== contourf ====<br />
<br />
contourf fills the areas between contours with colors according to the Z-value. It is possible to have a result very similar to '''pcolor''' by specifying a large number of contours to be plotted:<br />
<br />
contourf(X,Y,Z,100,'edgecolor','none');<br />
<br />
means that 100 contour levels are required, and that the contours themselves are not represented (by default, a black line separate the different levels).<br />
<br />
==== scatter ====<br />
<br />
A scatter plot displays colored circles (or other shapes) at the locations specified by the vectors X and Y. If can also be applied to simulate the bahaviour of '''pcolor'''.<br />
<br />
% Put the matrix into vector form<br />
xx = X(:); yy = Y(:); zz = Z(:);<br />
% Make the plot<br />
scatter(xx,yy,50,zz,'filled','s')<br />
<br />
* 50 is the size of the circles (or other forms) that will be plotted<br />
* 'filled' means that the circles will be colored (otherwise only their contour is shown, the center is white)<br />
* 's' means that we want squares instead of circles<br />
<br />
=== Non-linear color maps ===<br />
<br />
Sometimes it is necessary to zoom the color map on a certain region on values. If the values are very close to zero (and still positive), one can plot the logarithm. If this is not the case, one can use a color map transformed with a non-linear functions:<br />
<br />
x = linspace(0,1,64);<br />
y = interp1([0 .5 1],[0 .9 1],x,'pship');<br />
colormap(interp1(x,jet,y));<br />
<br />
The more the .9 is different from .5, the more the transformation would be non-linear.<br />
<br />
<br />
<br />
=== Incomplete satellite images ===<br />
<br />
This application is a particular case of the 2D plots:<br />
* data are geo-referenced, hence it is recommended to use the [http://www2.ocgy.ubc.ca/~rich/map.html m_map] package. <br />
* holes or missing data may exist.<br />
<br />
The first step is to replace the missing values (for example, -999) by NaN, in order to ensure that the place without measurement will remain blank.<br />
<br />
valex = -999;<br />
sst(sst==valex) = NaN;<br />
<br />
The second step is to make the plot. We can use one of the three possibilities from the previous section, each of them having its advantages and inconvients.<br />
* '''pcolor'''<br />
pcolor(lon,lat,sst)<br />
shading flat <br />
<br />
When the number of data points to represent is too large, the exportation of the figure in postscript may give unsatisfactory results: the image is in raster, instead of being in vectorial format. This can be seen by looking at the axes label, or at the title. In some cases, the degree symbol '''°''' disappears from the figure. The resulting ''eps'' file has a size of 15M.<br />
* '''contourf'''<br />
contourf(lon,lat,sst,100,'edgecolor','none');<br />
Here the quality of the results will depend on the kind of data and on the percentage of missing data. In the bad cases, the plot can take a very long time to be finished.<br />
* '''scatter'''<br />
% change matrices into vectors<br />
lon = lon(:); lat = lat(:); sst = sst(:) <br />
% remove missing values<br />
lon(isnan(sst)) = [];<br />
lat(isnan(sst)) = [];<br />
sst(isnan(sst)) = [];<br />
% change coordinates into x,y ('''m_scatter''' does not exist!)<br />
[lon2,lat2] = m_ll2xy(lon,lat);<br />
% make the plot<br />
scatter(lon2,lat2,2,sst,'filled','s')<br />
<br />
== Exporting figures ==<br />
<br />
Each of the following sections presents a different way to export or save a graphic created using matlab.<br />
<br />
===Save as matlab .fig file===<br />
<br />
A matlab figure can be saved as a .fig file (matlab format) using the command '''saveas'''.<br />
<br />
savesas(gcf,'sst2010','fig')<br />
<br />
After that, the figure can be loaded again using<br />
<br />
open('sst2010.fig')<br />
<br />
===Export in usual image formats===<br />
<br />
The figure can also be exported in various image formats. This is done using the command '''print'''.<br />
<br />
print('-dpng','-r300','diagram1')<br />
<br />
where <br />
* ''-dpng'' specifies the output format. <br />
* ''-r300'' specifies the resolution in dpi.<br />
* ''diagram1'' is the name of the newly created file. Note that the extension is automatically appended.<br />
<br />
===Export in eps===<br />
<br />
When you want to export figures as Encapsuled PostScript (eps), instead of using<br />
<br />
print('-depsc','-r300','diagram1')<br />
<br />
it is recommended to employ the set of functions ''exportfig.m, previewfig.m, applytofig.m'' and ''restorefig.m'', available at <br />
http://www.mathworks.com/company/newsletters/digest/december00/export.html<br />
<br />
exportfig(gcf,'gher.eps','bounds','tight','Color','rgb','Resolution',300); <br />
<br />
The results will have a better quality than the one obtained with print. <br />
<br />
===Export in pdf===<br />
<br />
When you want to export figures as pdf, instead of using<br />
<br />
print('-dpdf','-r300','diagram1')<br />
<br />
it is recommended to export the figure in eps, as explained in the previous paragraph, and then convert it in pdf, using for instance:<br />
<br />
ps2pdf diagram1.eps<br />
<br />
===Export in svg===<br />
<br />
SVG stands for [http://en.wikipedia.org/wiki/Scalable_Vector_Graphics Scalable Vector Graphics]. To export in this format with matlab, download the package [http://www.mathworks.com/matlabcentral/fileexchange/7401 plot2svg]<br />
<br />
http://www.myoutsourcedbrain.com/2009/07/produce-print-quality-figures-from.html<br />
<br />
== Miscellaneous Tips ==<br />
<br />
* '''Forget to save a .m file?'''<br />
There is a file called '''history.m''', which contents the last commands you type.<br />
[charles@gher13 figures]$ find /home/charles/ -name 'history.m'<br />
/home/charles/.matlab/R2008b/history.m<br />
This way you may be able to rebuild the content of the unsaved file.</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Matlab/Octave_scripts
Matlab/Octave scripts
2014-05-09T12:18:43Z
<p>Jmb: /* Download GHER scripts */</p>
<hr />
<div>== Download GHER scripts ==<br />
<br />
To download the scripts, you need an account on modb. On a Linux/Unix computer, the scripts can be downloaded with the <tt>svn</tt> command:<br />
<br />
svn checkout svn+ssh://modb.oce.ulg.ac.be/home/svn/repos/Scripts/trunk Scripts<br />
<br />
''A snapshot of 09/05/2014 can be downloaded as zip file for those not familiar with SVN '' here<br />
<br />
The scripts are organized in subdirectories. Currently, it only contains:<br />
<br />
;IO: Input-output functions for the GHER fileformat (in '''big-endian'''; if you experience problems reading or writing GHER binary files, you might need to swith to '''little endian''' by editing '''uwrite.m''' and change line '' format = 'ieee-be' '' into '' format = 'ieee-le' '')<br />
Normally you will just use '''gread.m''' and '''gwrite.m''' in your matlab/codes codes<br />
<br />
<br />
You can include the directory Scripts (with all subdirectories) in your search path by adding the following to your startup.m (matlab) or ~/.octaverc (octave) file:<br />
<br />
addpath(genpath('/path/to/Scripts'))<br />
<br />
More information about SVN:<br />
<br />
* [[Using SVN]]<br />
* [[Install subversion]]<br />
<br />
== Creation of figures ==<br />
<br />
=== 2D field plots ===<br />
<br />
Here we examine the different possibilities to create a colored map. The examples can be tried with articial data:<br />
[x,y,z] = peaks(100);<br />
<br />
==== pcolor ====<br />
<br />
pcolor stands for Pseudocolor (checkerboard) plot. The color of a given cell is specified by the corresponding value of the matrix. The '''shading''' controls the color shading.<br />
<br />
pcolor(x,y,z);<br />
shading flat % or shading interp<br />
<br />
==== contourf ====<br />
<br />
contourf fills the areas between contours with colors according to the Z-value. It is possible to have a result very similar to '''pcolor''' by specifying a large number of contours to be plotted:<br />
<br />
contourf(X,Y,Z,100,'edgecolor','none');<br />
<br />
means that 100 contour levels are required, and that the contours themselves are not represented (by default, a black line separate the different levels).<br />
<br />
==== scatter ====<br />
<br />
A scatter plot displays colored circles (or other shapes) at the locations specified by the vectors X and Y. If can also be applied to simulate the bahaviour of '''pcolor'''.<br />
<br />
% Put the matrix into vector form<br />
xx = X(:); yy = Y(:); zz = Z(:);<br />
% Make the plot<br />
scatter(xx,yy,50,zz,'filled','s')<br />
<br />
* 50 is the size of the circles (or other forms) that will be plotted<br />
* 'filled' means that the circles will be colored (otherwise only their contour is shown, the center is white)<br />
* 's' means that we want squares instead of circles<br />
<br />
=== Non-linear color maps ===<br />
<br />
Sometimes it is necessary to zoom the color map on a certain region on values. If the values are very close to zero (and still positive), one can plot the logarithm. If this is not the case, one can use a color map transformed with a non-linear functions:<br />
<br />
x = linspace(0,1,64);<br />
y = interp1([0 .5 1],[0 .9 1],x,'pship');<br />
colormap(interp1(x,jet,y));<br />
<br />
The more the .9 is different from .5, the more the transformation would be non-linear.<br />
<br />
<br />
<br />
=== Incomplete satellite images ===<br />
<br />
This application is a particular case of the 2D plots:<br />
* data are geo-referenced, hence it is recommended to use the [http://www2.ocgy.ubc.ca/~rich/map.html m_map] package. <br />
* holes or missing data may exist.<br />
<br />
The first step is to replace the missing values (for example, -999) by NaN, in order to ensure that the place without measurement will remain blank.<br />
<br />
valex = -999;<br />
sst(sst==valex) = NaN;<br />
<br />
The second step is to make the plot. We can use one of the three possibilities from the previous section, each of them having its advantages and inconvients.<br />
* '''pcolor'''<br />
pcolor(lon,lat,sst)<br />
shading flat <br />
<br />
When the number of data points to represent is too large, the exportation of the figure in postscript may give unsatisfactory results: the image is in raster, instead of being in vectorial format. This can be seen by looking at the axes label, or at the title. In some cases, the degree symbol '''°''' disappears from the figure. The resulting ''eps'' file has a size of 15M.<br />
* '''contourf'''<br />
contourf(lon,lat,sst,100,'edgecolor','none');<br />
Here the quality of the results will depend on the kind of data and on the percentage of missing data. In the bad cases, the plot can take a very long time to be finished.<br />
* '''scatter'''<br />
% change matrices into vectors<br />
lon = lon(:); lat = lat(:); sst = sst(:) <br />
% remove missing values<br />
lon(isnan(sst)) = [];<br />
lat(isnan(sst)) = [];<br />
sst(isnan(sst)) = [];<br />
% change coordinates into x,y ('''m_scatter''' does not exist!)<br />
[lon2,lat2] = m_ll2xy(lon,lat);<br />
% make the plot<br />
scatter(lon2,lat2,2,sst,'filled','s')<br />
<br />
== Exporting figures ==<br />
<br />
Each of the following sections presents a different way to export or save a graphic created using matlab.<br />
<br />
===Save as matlab .fig file===<br />
<br />
A matlab figure can be saved as a .fig file (matlab format) using the command '''saveas'''.<br />
<br />
savesas(gcf,'sst2010','fig')<br />
<br />
After that, the figure can be loaded again using<br />
<br />
open('sst2010.fig')<br />
<br />
===Export in usual image formats===<br />
<br />
The figure can also be exported in various image formats. This is done using the command '''print'''.<br />
<br />
print('-dpng','-r300','diagram1')<br />
<br />
where <br />
* ''-dpng'' specifies the output format. <br />
* ''-r300'' specifies the resolution in dpi.<br />
* ''diagram1'' is the name of the newly created file. Note that the extension is automatically appended.<br />
<br />
===Export in eps===<br />
<br />
When you want to export figures as Encapsuled PostScript (eps), instead of using<br />
<br />
print('-depsc','-r300','diagram1')<br />
<br />
it is recommended to employ the set of functions ''exportfig.m, previewfig.m, applytofig.m'' and ''restorefig.m'', available at <br />
http://www.mathworks.com/company/newsletters/digest/december00/export.html<br />
<br />
exportfig(gcf,'gher.eps','bounds','tight','Color','rgb','Resolution',300); <br />
<br />
The results will have a better quality than the one obtained with print. <br />
<br />
===Export in pdf===<br />
<br />
When you want to export figures as pdf, instead of using<br />
<br />
print('-dpdf','-r300','diagram1')<br />
<br />
it is recommended to export the figure in eps, as explained in the previous paragraph, and then convert it in pdf, using for instance:<br />
<br />
ps2pdf diagram1.eps<br />
<br />
===Export in svg===<br />
<br />
SVG stands for [http://en.wikipedia.org/wiki/Scalable_Vector_Graphics Scalable Vector Graphics]. To export in this format with matlab, download the package [http://www.mathworks.com/matlabcentral/fileexchange/7401 plot2svg]<br />
<br />
http://www.myoutsourcedbrain.com/2009/07/produce-print-quality-figures-from.html<br />
<br />
== Miscellaneous Tips ==<br />
<br />
* '''Forget to save a .m file?'''<br />
There is a file called '''history.m''', which contents the last commands you type.<br />
[charles@gher13 figures]$ find /home/charles/ -name 'history.m'<br />
/home/charles/.matlab/R2008b/history.m<br />
This way you may be able to rebuild the content of the unsaved file.</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Matlab/Octave_scripts
Matlab/Octave scripts
2014-05-09T12:11:07Z
<p>Jmb: /* Download GHER scripts */</p>
<hr />
<div>== Download GHER scripts ==<br />
<br />
To download the scripts, you need an account on modb. On a Linux/Unix computer, the scripts can be downloaded with the <tt>svn</tt> command:<br />
<br />
svn checkout svn+ssh://modb.oce.ulg.ac.be/home/svn/repos/Scripts/trunk Scripts<br />
<br />
''some instructions from a Windows user?''<br />
<br />
The scripts are organized in subdirectories. Currently, it only contains:<br />
<br />
;IO: Input-output functions for the GHER fileformat (in '''big-endian'''; if you experience problems reading or writing GHER binary files, you might need to swith to '''little endian''' by editing '''uwrite.m''' and change line '' format = 'ieee-be' '' into '' format = 'ieee-le' '')<br />
Normally you will just use '''gread.m''' and '''gwrite.m''' in your matlab/codes codes<br />
<br />
<br />
You can include the directory Scripts (with all subdirectories) in your search path by adding the following to your startup.m (matlab) or ~/.octaverc (octave) file:<br />
<br />
addpath(genpath('/path/to/Scripts'))<br />
<br />
More information about SVN:<br />
<br />
* [[Using SVN]]<br />
* [[Install subversion]]<br />
<br />
== Creation of figures ==<br />
<br />
=== 2D field plots ===<br />
<br />
Here we examine the different possibilities to create a colored map. The examples can be tried with articial data:<br />
[x,y,z] = peaks(100);<br />
<br />
==== pcolor ====<br />
<br />
pcolor stands for Pseudocolor (checkerboard) plot. The color of a given cell is specified by the corresponding value of the matrix. The '''shading''' controls the color shading.<br />
<br />
pcolor(x,y,z);<br />
shading flat % or shading interp<br />
<br />
==== contourf ====<br />
<br />
contourf fills the areas between contours with colors according to the Z-value. It is possible to have a result very similar to '''pcolor''' by specifying a large number of contours to be plotted:<br />
<br />
contourf(X,Y,Z,100,'edgecolor','none');<br />
<br />
means that 100 contour levels are required, and that the contours themselves are not represented (by default, a black line separate the different levels).<br />
<br />
==== scatter ====<br />
<br />
A scatter plot displays colored circles (or other shapes) at the locations specified by the vectors X and Y. If can also be applied to simulate the bahaviour of '''pcolor'''.<br />
<br />
% Put the matrix into vector form<br />
xx = X(:); yy = Y(:); zz = Z(:);<br />
% Make the plot<br />
scatter(xx,yy,50,zz,'filled','s')<br />
<br />
* 50 is the size of the circles (or other forms) that will be plotted<br />
* 'filled' means that the circles will be colored (otherwise only their contour is shown, the center is white)<br />
* 's' means that we want squares instead of circles<br />
<br />
=== Non-linear color maps ===<br />
<br />
Sometimes it is necessary to zoom the color map on a certain region on values. If the values are very close to zero (and still positive), one can plot the logarithm. If this is not the case, one can use a color map transformed with a non-linear functions:<br />
<br />
x = linspace(0,1,64);<br />
y = interp1([0 .5 1],[0 .9 1],x,'pship');<br />
colormap(interp1(x,jet,y));<br />
<br />
The more the .9 is different from .5, the more the transformation would be non-linear.<br />
<br />
<br />
<br />
=== Incomplete satellite images ===<br />
<br />
This application is a particular case of the 2D plots:<br />
* data are geo-referenced, hence it is recommended to use the [http://www2.ocgy.ubc.ca/~rich/map.html m_map] package. <br />
* holes or missing data may exist.<br />
<br />
The first step is to replace the missing values (for example, -999) by NaN, in order to ensure that the place without measurement will remain blank.<br />
<br />
valex = -999;<br />
sst(sst==valex) = NaN;<br />
<br />
The second step is to make the plot. We can use one of the three possibilities from the previous section, each of them having its advantages and inconvients.<br />
* '''pcolor'''<br />
pcolor(lon,lat,sst)<br />
shading flat <br />
<br />
When the number of data points to represent is too large, the exportation of the figure in postscript may give unsatisfactory results: the image is in raster, instead of being in vectorial format. This can be seen by looking at the axes label, or at the title. In some cases, the degree symbol '''°''' disappears from the figure. The resulting ''eps'' file has a size of 15M.<br />
* '''contourf'''<br />
contourf(lon,lat,sst,100,'edgecolor','none');<br />
Here the quality of the results will depend on the kind of data and on the percentage of missing data. In the bad cases, the plot can take a very long time to be finished.<br />
* '''scatter'''<br />
% change matrices into vectors<br />
lon = lon(:); lat = lat(:); sst = sst(:) <br />
% remove missing values<br />
lon(isnan(sst)) = [];<br />
lat(isnan(sst)) = [];<br />
sst(isnan(sst)) = [];<br />
% change coordinates into x,y ('''m_scatter''' does not exist!)<br />
[lon2,lat2] = m_ll2xy(lon,lat);<br />
% make the plot<br />
scatter(lon2,lat2,2,sst,'filled','s')<br />
<br />
== Exporting figures ==<br />
<br />
Each of the following sections presents a different way to export or save a graphic created using matlab.<br />
<br />
===Save as matlab .fig file===<br />
<br />
A matlab figure can be saved as a .fig file (matlab format) using the command '''saveas'''.<br />
<br />
savesas(gcf,'sst2010','fig')<br />
<br />
After that, the figure can be loaded again using<br />
<br />
open('sst2010.fig')<br />
<br />
===Export in usual image formats===<br />
<br />
The figure can also be exported in various image formats. This is done using the command '''print'''.<br />
<br />
print('-dpng','-r300','diagram1')<br />
<br />
where <br />
* ''-dpng'' specifies the output format. <br />
* ''-r300'' specifies the resolution in dpi.<br />
* ''diagram1'' is the name of the newly created file. Note that the extension is automatically appended.<br />
<br />
===Export in eps===<br />
<br />
When you want to export figures as Encapsuled PostScript (eps), instead of using<br />
<br />
print('-depsc','-r300','diagram1')<br />
<br />
it is recommended to employ the set of functions ''exportfig.m, previewfig.m, applytofig.m'' and ''restorefig.m'', available at <br />
http://www.mathworks.com/company/newsletters/digest/december00/export.html<br />
<br />
exportfig(gcf,'gher.eps','bounds','tight','Color','rgb','Resolution',300); <br />
<br />
The results will have a better quality than the one obtained with print. <br />
<br />
===Export in pdf===<br />
<br />
When you want to export figures as pdf, instead of using<br />
<br />
print('-dpdf','-r300','diagram1')<br />
<br />
it is recommended to export the figure in eps, as explained in the previous paragraph, and then convert it in pdf, using for instance:<br />
<br />
ps2pdf diagram1.eps<br />
<br />
===Export in svg===<br />
<br />
SVG stands for [http://en.wikipedia.org/wiki/Scalable_Vector_Graphics Scalable Vector Graphics]. To export in this format with matlab, download the package [http://www.mathworks.com/matlabcentral/fileexchange/7401 plot2svg]<br />
<br />
http://www.myoutsourcedbrain.com/2009/07/produce-print-quality-figures-from.html<br />
<br />
== Miscellaneous Tips ==<br />
<br />
* '''Forget to save a .m file?'''<br />
There is a file called '''history.m''', which contents the last commands you type.<br />
[charles@gher13 figures]$ find /home/charles/ -name 'history.m'<br />
/home/charles/.matlab/R2008b/history.m<br />
This way you may be able to rebuild the content of the unsaved file.</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Matlab/Octave_scripts
Matlab/Octave scripts
2014-05-09T12:10:04Z
<p>Jmb: </p>
<hr />
<div>== Download GHER scripts ==<br />
<br />
To download the scripts, you need an account on modb. On a Linux/Unix computer, the scripts can be downloaded with the <tt>svn</tt> command:<br />
<br />
svn checkout svn+ssh://modb.oce.ulg.ac.be/home/svn/repos/Scripts/trunk Scripts<br />
<br />
''some instructions from a Windows user?''<br />
<br />
The scripts are organized in subdirectories. Currently, it only contains:<br />
<br />
;IO: Input-output functions for the GHER fileformat (in '''big-endian'''; if you experience problems reading or writing GHER binary files, you might need to swith to '''little endian''' by editing '''uwrite.m''' and change line '' format = 'ieee-be' '' into '' format = 'ieee-le' ''<br />
<br />
<br />
You can include the directory Scripts (with all subdirectories) in your search path by adding the following to your startup.m (matlab) or ~/.octaverc (octave) file:<br />
<br />
addpath(genpath('/path/to/Scripts'))<br />
<br />
More information about SVN:<br />
<br />
* [[Using SVN]]<br />
* [[Install subversion]]<br />
<br />
== Creation of figures ==<br />
<br />
=== 2D field plots ===<br />
<br />
Here we examine the different possibilities to create a colored map. The examples can be tried with articial data:<br />
[x,y,z] = peaks(100);<br />
<br />
==== pcolor ====<br />
<br />
pcolor stands for Pseudocolor (checkerboard) plot. The color of a given cell is specified by the corresponding value of the matrix. The '''shading''' controls the color shading.<br />
<br />
pcolor(x,y,z);<br />
shading flat % or shading interp<br />
<br />
==== contourf ====<br />
<br />
contourf fills the areas between contours with colors according to the Z-value. It is possible to have a result very similar to '''pcolor''' by specifying a large number of contours to be plotted:<br />
<br />
contourf(X,Y,Z,100,'edgecolor','none');<br />
<br />
means that 100 contour levels are required, and that the contours themselves are not represented (by default, a black line separate the different levels).<br />
<br />
==== scatter ====<br />
<br />
A scatter plot displays colored circles (or other shapes) at the locations specified by the vectors X and Y. If can also be applied to simulate the bahaviour of '''pcolor'''.<br />
<br />
% Put the matrix into vector form<br />
xx = X(:); yy = Y(:); zz = Z(:);<br />
% Make the plot<br />
scatter(xx,yy,50,zz,'filled','s')<br />
<br />
* 50 is the size of the circles (or other forms) that will be plotted<br />
* 'filled' means that the circles will be colored (otherwise only their contour is shown, the center is white)<br />
* 's' means that we want squares instead of circles<br />
<br />
=== Non-linear color maps ===<br />
<br />
Sometimes it is necessary to zoom the color map on a certain region on values. If the values are very close to zero (and still positive), one can plot the logarithm. If this is not the case, one can use a color map transformed with a non-linear functions:<br />
<br />
x = linspace(0,1,64);<br />
y = interp1([0 .5 1],[0 .9 1],x,'pship');<br />
colormap(interp1(x,jet,y));<br />
<br />
The more the .9 is different from .5, the more the transformation would be non-linear.<br />
<br />
<br />
<br />
=== Incomplete satellite images ===<br />
<br />
This application is a particular case of the 2D plots:<br />
* data are geo-referenced, hence it is recommended to use the [http://www2.ocgy.ubc.ca/~rich/map.html m_map] package. <br />
* holes or missing data may exist.<br />
<br />
The first step is to replace the missing values (for example, -999) by NaN, in order to ensure that the place without measurement will remain blank.<br />
<br />
valex = -999;<br />
sst(sst==valex) = NaN;<br />
<br />
The second step is to make the plot. We can use one of the three possibilities from the previous section, each of them having its advantages and inconvients.<br />
* '''pcolor'''<br />
pcolor(lon,lat,sst)<br />
shading flat <br />
<br />
When the number of data points to represent is too large, the exportation of the figure in postscript may give unsatisfactory results: the image is in raster, instead of being in vectorial format. This can be seen by looking at the axes label, or at the title. In some cases, the degree symbol '''°''' disappears from the figure. The resulting ''eps'' file has a size of 15M.<br />
* '''contourf'''<br />
contourf(lon,lat,sst,100,'edgecolor','none');<br />
Here the quality of the results will depend on the kind of data and on the percentage of missing data. In the bad cases, the plot can take a very long time to be finished.<br />
* '''scatter'''<br />
% change matrices into vectors<br />
lon = lon(:); lat = lat(:); sst = sst(:) <br />
% remove missing values<br />
lon(isnan(sst)) = [];<br />
lat(isnan(sst)) = [];<br />
sst(isnan(sst)) = [];<br />
% change coordinates into x,y ('''m_scatter''' does not exist!)<br />
[lon2,lat2] = m_ll2xy(lon,lat);<br />
% make the plot<br />
scatter(lon2,lat2,2,sst,'filled','s')<br />
<br />
== Exporting figures ==<br />
<br />
Each of the following sections presents a different way to export or save a graphic created using matlab.<br />
<br />
===Save as matlab .fig file===<br />
<br />
A matlab figure can be saved as a .fig file (matlab format) using the command '''saveas'''.<br />
<br />
savesas(gcf,'sst2010','fig')<br />
<br />
After that, the figure can be loaded again using<br />
<br />
open('sst2010.fig')<br />
<br />
===Export in usual image formats===<br />
<br />
The figure can also be exported in various image formats. This is done using the command '''print'''.<br />
<br />
print('-dpng','-r300','diagram1')<br />
<br />
where <br />
* ''-dpng'' specifies the output format. <br />
* ''-r300'' specifies the resolution in dpi.<br />
* ''diagram1'' is the name of the newly created file. Note that the extension is automatically appended.<br />
<br />
===Export in eps===<br />
<br />
When you want to export figures as Encapsuled PostScript (eps), instead of using<br />
<br />
print('-depsc','-r300','diagram1')<br />
<br />
it is recommended to employ the set of functions ''exportfig.m, previewfig.m, applytofig.m'' and ''restorefig.m'', available at <br />
http://www.mathworks.com/company/newsletters/digest/december00/export.html<br />
<br />
exportfig(gcf,'gher.eps','bounds','tight','Color','rgb','Resolution',300); <br />
<br />
The results will have a better quality than the one obtained with print. <br />
<br />
===Export in pdf===<br />
<br />
When you want to export figures as pdf, instead of using<br />
<br />
print('-dpdf','-r300','diagram1')<br />
<br />
it is recommended to export the figure in eps, as explained in the previous paragraph, and then convert it in pdf, using for instance:<br />
<br />
ps2pdf diagram1.eps<br />
<br />
===Export in svg===<br />
<br />
SVG stands for [http://en.wikipedia.org/wiki/Scalable_Vector_Graphics Scalable Vector Graphics]. To export in this format with matlab, download the package [http://www.mathworks.com/matlabcentral/fileexchange/7401 plot2svg]<br />
<br />
http://www.myoutsourcedbrain.com/2009/07/produce-print-quality-figures-from.html<br />
<br />
== Miscellaneous Tips ==<br />
<br />
* '''Forget to save a .m file?'''<br />
There is a file called '''history.m''', which contents the last commands you type.<br />
[charles@gher13 figures]$ find /home/charles/ -name 'history.m'<br />
/home/charles/.matlab/R2008b/history.m<br />
This way you may be able to rebuild the content of the unsaved file.</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/New_stuff
New stuff
2014-04-28T13:33:09Z
<p>Jmb: </p>
<hr />
<div>[[File:9780120887590.jpg]]<br />
<br />
==Animations==<br />
<br />
Herer are some files with new animations for supporting lectures using [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Geophysical Fluid Dynamics]. The official supporting material is found [http://booksite.academicpress.com/9780120887590/index.php at Elsevier]. Some additional animations are:<br />
<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/equatorialwaves.mov equatorialwaves.mov]<br />
Animation of sequences shown in Figures 21-4 and 21-5 showing equatorial waves triggered in the western part and propagating.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shearedflow.mov shearedflow.mov]<br />
Animation of the shear flow instability of Figure 10-4 <br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy.avi shieldededdy.avi] <br />
Gaussian eddy, stable situation.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy1.avi shieldededdy1.avi]<br />
Zero total vorticity, inner patch with radius which is half of the total radius<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy2.avi shieldededdy2.avi] <br />
Zero total vorticity, inner patch with same surface as outer patch<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/shieldededdy2beta.avi shieldededdy2beta.avi] <br />
As shieldededdy2.avi but with beta effect added. Note the loss of symmetry.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/contour.avi contour.avi]<br />
Contour dynamics code contourdyn.m used to make an animated version of Figure 10.11<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/QGspectral.avi QGspectral.avi]<br />
Spectral code qgspectral.m used to make an animated version of Figure 18.17<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/baroclinic.avi baroclinic.avi]<br />
Two layer model code baroclinic.m used to make an animated version of Figure 17.8 and 17.9<br />
<br />
<br />
<br />
The corresponding [http://modb.oce.ulg.ac.be/mediawiki/upload/README.txt README.txt] can also by downloaded.<br />
<br />
==Errata==<br />
<br />
[http://modb.oce.ulg.ac.be/mediawiki/upload/errata.pdf errata.pdf]<br />
<br />
==Reviews==<br />
* ''This is an excellent textbook, the pearl of GFD literature'' A. Borda in [http://www.met.hu/downloads.php?fn=/metadmin/newspaper/2012/06/116-2-6-book-review.pdf 116-2-6-book-review.pdf] in Quarterly Journal of the Hungarian Meteorological Service (OMSZ) [http://www.met.hu/downloads.php?fn=/metadmin/newspaper/2012/06/idojaras-vol116-no2.pdf Volume 116]<br />
<br />
* [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Amazon review]<br />
<br />
* [http://books.google.com/books/about/Introduction_to_Geophysical_Fluid_Dynami.html?id=3KS8sD5ky9kC Google books]<br />
<br />
* [http://www.barnesandnoble.com/w/introduction-to-geophysical-fluid-dynamics-benoit-cushman-roisin/1103811417 Barnes and Noble]<br />
<br />
* ''This book Introduction to Geophysical Fluid Dynamics is one of the best books introducing the subject matter... Overall, the book is very well written with the material concisely described and methods of solution are highlighted. ... I highly recommend this to undergraduate students, however, graduate students will also benefit from the material presented'' Amgad Salama, [http://dx.doi.org/10.1080/00107514.2012.762047 Full review] in ''Contemporary Physics''<br />
<br />
== Color figures ==<br />
<br />
[http://booksite.academicpress.com/9780120887590/color_figures.php Elsevier site]<br />
<br />
==Solutions==<br />
<br />
* Analytical problems<br />
<br />
* [[ Numerical problems solutions]] (Needs javascript to be enabled, otherwise you will be redirected here)<br />
<br />
==External material==<br />
<br />
* A port to Phyton for some of the codes [http://ocefpaf.github.io/python4oceanographers/blog/2014/04/21/spectral_ekman/ python4oceanographers ]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/New_Diva_Features
New Diva Features
2014-04-03T16:09:43Z
<p>Jmb: /* 4.7.1 */</p>
<hr />
<div>==4.7.1==<br />
Expected release data, December 2014<br />
<br />
Beta testers are [mailto:jm.beckers@ulg.ac.be?subject=diva-4.7.1%20beta$20testing&body=Hi%0AI%20would%20like%20to%20beta%20test%20the%20new%20Diva%20version welcomed]: <br />
<br />
* Correlated observational errors<br />
* Better file structures (input and driver better separated from command) in 4D loops<br />
* Automatic selection of solver (parallel, serial, iterative) depending on the problem type and size<br />
* Retrieval of topographies from diva on web for easy setup<br />
* Improved version of the almost exact error calculation with boundary effects<br />
* Incorporation of metadata (EDMO-CDI identifier, space-time location) into 4D netCDF files of climatologies<br />
<br />
==4.6.4==<br />
<br />
<br />
<br />
Release date, February 2014; this is the current official version.<br />
<br />
* Introduction of ''Logit'' transformation <br />
* Use of a mask file to introduce a relative correlation length field in Diva2D<br />
* Minor bug corrections following the Diva workshop<br />
<br />
==4.6.1==<br />
<br />
<div style="float: left;text-align:justify; width: 50%"><br />
<br />
<br />
* Two additional solvers: a parallel and iterative version<br />
* Optimisations for large data sets<br />
* Optimisations of file exchanges for use with [http://odv.awi.de/ ODV]<br />
* Highly optimised new version of the grid generator (typical reduction of a factor 10 in CPU time)<br />
* Integration of faster error calculations into the 3D/4D version (using new <tt>ispec</tt> values)<br />
* Clearer log files for debugging<br />
<br />
(note: With the availability of gfortran, we decided to abandon the support of pure f77 compilations and this release needs Fortran 90 or Fortran 95 and -'''cpp''' preprocessing tools).<br />
<br />
Example of performance gain using <tt>divabigtest</tt> (test with 1.5 million data points and a very fine mesh):<br />
<br />
CPU time in seconds in 4.5.1 4.6.1<br />
for<br />
- mesh 27 2<br />
- analysis 318 159<br />
<br />
The results presented in the right-hand side shows how the computation time evolves:<br />
* for the computation when the number of observations increases.<br />
* for the mesh generation when the correlation length is modified.<br />
<br />
</div><div style="float: right;text-align:justify; width: 50%"><br />
[[Image:Diva_time_2013_05_30_09_06_55_gfortran_4pt6.png|frameless|super|left|400px|Computation time vs. number of data for two releases of Diva compiled with the same compiler and options.]]<br />
[[Image:Time_mesh.png|frameless|super|left|400px|Computation time for the mesh generation vs. correlation length.]]<br />
</div><br />
<br />
<br />
<br style="clear: both" /><br />
<br />
==4.5.1==<br />
<br />
Version 4.5.1 was released in March 2013 and includes the following new features, partly based on the feedback we got from the [http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_workshop_2012_Roumaillac DIVA workshop 2012] in Roumaillac.<br />
<br />
*Advection constraint with linear decay rate and local sources (such as found for radioactive tracers and river discharges)<br />
<br />
*<tt>divadetrend</tt> now allows one to change easily the order in which ''detrending'' is done (for example first years then months or the inverse)<br />
<br />
*two new error calculations are provided: <br />
# one quick version <tt>divacpme</tt> with better quality than the original quick version of the poor man’s error; <br />
# the other <tt>divaexerr</tt> is an almost exact error calculation much faster than the exact calculation. <br />
<br />
These two options will be implemented into the 4D version for version 4.6.0 so that error fields will be available with more reasonable CPU times for final climatology productions<br />
<br />
*Simplification of installation and compilation with additional tests of correct installation<br />
<br />
*Housekeeping of the code (simplifications, error messages, cleaning up of code, further optimisations, elimination of depreciated tools)<br />
<br />
*New documentation largely augmented with examples and new tool descriptions<br />
<br />
*Possibilities to call DIVA from other software via system calls, exemplified by a matlab function <tt>divagrid.m</tt><br />
<br />
*<tt>divadoxml</tt> adapted to new specifications from IFREMER<br />
<br />
== 4.4.1 == <br />
<br />
Released January 2012<br />
<br />
* simple compiled programs replaced by awk<br />
<br />
== 4.3.x ==<br />
Several releases during 2009 and 2010<br />
<br />
<br />
* 3D/4D version with<br />
** Adapting and automatisation of data selection for DIVA input (including vertical interpolation from ODV4 spreadsheets)<br />
** Loops on depth, parameters, seasons etc<br />
** Parameter optimisation (robustness and vertical coherency) <br />
** Automated plotting interface <br />
** Preparing NetCDF files with CF compliance<br />
* Faster and more robust mesh generation, optimisation of computational load (for incorporation of stripped version into ODV)<br />
* Adequate contour generation from a topography mask (including tools to retrieve topography fields)<br />
* Automated cross validation for choice of analysis parameters (including fast real cross validation)<br />
* Some additional diagnostic tools (fitting of correlation length)<br />
* Data-quality control (spatial coherence)<br />
* Non-uniform correlation length<br />
* Exact error calculation and poor man's error calculation (for coupling with ODV)<br />
* Advection constraint<br />
* Hydrostatic constraint in 3D mode<br />
* Option to eliminate data that are not on the mesh before estimation of L and S/N<br />
* Option to create a data set from which outliers are eliminated (outliers determined from a preliminary DIVA execution)<br />
* Possibility to create a pseudo-velocity field so as to increase correlations along topography <br />
* Option ot use a relative correlation length spatially changing depending on data coverage<br />
* Option to calculate a lower limit for correlation length (based on average data distance)<br />
* Additional output fields (data coverage)<br />
* Detrending (with help of J. Carstensen) to deal with heterogeneous data distribution<br />
* Error calculation for domain integrals (heat content, total biomass etc)<br />
<br />
== 4.2.1 ==<br />
<br />
Release: May 2008<br />
<br />
Implementation of new tools:<br />
* <tt>divaUVtopo</tt>: creates pseudo velocity field based on topography.<br />
* adapation of <tt>divafit</tt> to take the mean distance between data as an inferior limit. <br />
* <tt>divadatacoverage</tt> now creates a file containing the mean distance (<tt>./output/meandistance.dat</tt>)<br />
<br />
== 4.1.1 ==<br />
<br />
Release: November 2007<br />
<br />
* Outputs for coupling with ODV<br />
* netCDF support<br />
* automated contour generation<br />
* Topography generation<br />
* Windows Version<br />
* First tools to help calibrating parameters (divafit, cross validation techniques)<br />
<br />
== 4.0.0 ==<br />
<br />
Release: October 2006<br />
<br />
* Basic Diva gridding tool<br />
* Simplified input files (param.par data.dat coast.cont)<br />
<br />
<br />
<br />
<!--<br />
<br />
== --- ==<br />
<br />
r193 | jmb | 2008-07-23 23:44:41 +0200 (mié, 23 jul 2008) | 1 line<br />
<br />
update for divasnbygrid<br />
------------------------------------------------------------------------<br />
r192 | jmb | 2008-07-22 13:31:51 +0200 (mar, 22 jul 2008) | 2 lines<br />
<br />
support for<br />
plotboundingbox.dat used to limit plots to non-overlapping regions<br />
------------------------------------------------------------------------<br />
r186 | jmb | 2008-07-21 14:09:23 +0200 (lun, 21 jul 2008) | 4 lines<br />
<br />
first prototype of parameter fitting by gridding.<br />
Needs a param.par for first guess on L<br />
<br />
divasnbygrid [-r] creates new estimates in output/param.par.fit (replaced in input with option -r acrivated)<br />
<br />
<br />
r175 | jmb | 2008-07-16 17:51:56 +0200 (mié, 16 jul 2008) | 3 lines<br />
<br />
divaintegral [-naive]<br />
when ispec< 0, now real covariance sums. For ispec>0, hybrid approach as for the errors (no poor man's equivalent though)<br />
<br />
------------------------------------------------------------------------<br />
r174 | jmb | 2008-07-16 17:50:55 +0200 (mié, 16 jul 2008) | 2 lines<br />
<br />
support for summing of covariances for integral error<br />
yet to come: input of variable surface elements<br />
------------------------------------------------------------------------<br />
r168 | jmb | 2008-07-14 10:25:01 +0200 (lun, 14 jul 2008) | 5 lines<br />
<br />
integral.dat containts<br />
Integral surface meanvalue<br />
<br />
erroronintegralnaive.dat contains<br />
naiveversion inflationfactor betterestimate<br />
<br />
<br />
== --- ==<br />
<br />
First version for detrending of analysis based on classes.<br />
Data need five columsn, where the fifth column contains<br />
an index for the classes (1, 2 , 3 , ...). (A class can for example be a year in a series of years for climatology production).<br />
divadetrend 4 will iterate 4 times (without paramter 10 iterations)<br />
<br />
<br />
--></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/User:JMB
User:JMB
2014-03-10T15:11:11Z
<p>Jmb: /* Service */</p>
<hr />
<div>[[File:jmb.jpg|thumb|right]]<br />
<br />
'''This is the home page of Jean-Marie BECKERS (contact e-mail: JM.Beckers (symbol) ulg.ac.be)'''<br />
<br />
''' Professor, GHER group leader '''<br />
<br />
''' Department [http://www.ago.ulg.ac.be/index_e.php AGO], group [http://modb.oce.ulg.ac.be/ GHER], at the [http://www.ulg.ac.be University of Liège]''' <br />
<br />
== Career ==<br />
<br />
* Full professor (Professeur ordinaire) at the [http://www.ulg.ac.be University of Liège] since 1/1/07<br />
* Professor at the [http://www.ulg.ac.be University of Liège] since 1/10/03.<br />
* Research Associate [http://www.fnrs.be F.R.S.-FNRS] from 1/10/95 to 30/9/05.<br />
* Post-doctoral researcher [http://www.fnrs.be F.R.S.-FNRS], also Alexander Von Humboldt fellow at IFM Hamburg, from 1/10/93 to 30/9/95.<br />
* Assistant at [http://www.ulg.ac.be University of Liège] from 1/10/92 to 30/9/93.<br />
* Research Fellow [http://www.fnrs.be F.R.S.-FNRS] from 1/10/88 to 30/9/92.<br />
* Student-assistant [http://www.ulg.ac.be University of Liège] from 1985 to 1988.<br />
<br />
<br />
== Peer reviewed publications ==<br />
<br />
<br />
<html><br />
<br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28uid%3Au013845%29%29+AND+%28%28filter%3Aprvw%29%29&amp;chars=0&amp;language=en&amp;data=pr&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" frameborder="0" height="300" scrolling="auto" width="750"></iframe><br />
<br />
</html><br />
<br />
A printable version can be generated <br />
[http://orbi.ulg.ac.be/ulg-report?query=%28%28uid%3Au013845%29%29+AND+%28%28type%3A%23A00%29+OR+%28type%3A%23B00%29+OR+%28type%3A%23C00%29%29&model=a&numb=1&format=apa&sort_by0=1&order0=DESC&sort_by1=3&order1=ASC&sort_by2=2&order2=ASC&output=pdf&language=en&title=Peer+reviewed+publications+of+Jean-Marie+Beckers here]<br />
<br />
== Research interests and recent work==<br />
Physical oceanography with theoretical developments in<br />
* numerical and mathematical modelling,<br />
* statistical data analyisis, in particular spatial gridding,<br />
* data assimilation<br />
<br />
applications include global, regional and coastal domains, mainly in <br />
* Mediterranean Sea,<br />
* Black Sea, <br />
* Golf of Cadiz.<br />
<br />
mostly within the framework of EU projects, currently within [http://www.data-assimilation.net/ SANGOMA], [http://www.seadatanet.org/ SeaDataNet] and [http://www.emodnet-chemistry.eu/portal/portal/ Emodnet].<br />
<br />
== Lectures ==<br />
<br />
<br />
[http://progcours.ulg.ac.be/cocoon/en/enseignant/U013845.html University lectures]<br />
<br />
<br />
Main reference work: [http://www.amazon.com/Introduction-Geophysical-Fluid-Dynamics-Second/dp/0120887592 Geophysical Fluid Dynamics] with [http://booksite.academicpress.com/9780120887590/index.php matlab codes and animations at Elsevier] and some [[new stuff|additional supporting material]]. Color figures can also be found at [http://booksite.academicpress.com/9780120887590/color_figures.php Elsevier]<br />
<br />
<div style="float: top; width: 45%"><br />
[[File:9780120887590.jpg|frameless|center|400px]] <br />
</div><br />
<br />
== Service ==<br />
<br />
* Member of [https://webgate.ec.europa.eu/maritimeforum/node/1451 MODEG]: Marine Observation and Data Expert Group<br />
* F.R.S.-FNRS representative at the ESF [http://www.marineboard.eu Marine Board]<br />
* Member of the scientific advisory board of [http://www.ifremer.fr Ifremer] from 2007-2012<br />
* Member of the EGU Fridtjof Nansen Medal committee 2010-2014<br />
* Expert at the [http://cordis.europa.eu/fp7/home_en.html EU]<br />
* Evaluator for national programs: [http://www.agence-nationale-recherche.fr/ ANR], EU-BONUS projects, NSF-USA, CNRS-INSU, Severa-Ochoa commitee 2011, NWO, Swiss NSF, Croation Science Fundation, Portuges Praxis projects <br />
* Partner or coordinator of 24 [http://modb.oce.ulg.ac.be/mediawiki/index.php/Projects EU projects]<br />
* Organiser of the [http://modb.oce.ulg.ac.be/colloquium/ International Liege Colloquium on Ocean Dynamics] and editor of associated special issues<br />
* Editor of [http://www.springer.com/earth+sciences+and+geography/oceanography/journal/10236 Ocean Dynamics] from 2001 to 2012<br />
* Member of the editorial board of [http://www.datasets.com/journals/geosciences/ Dataset Papers in Geosciences] since 2012, [http://www.isrn.com/journals/oceanography/ ISRN Oceanography] since 2012, [http://preview.apjcen.com/ Asia Pacific Journal on Computational Engineering] since 2013<br />
* Reviewer for 34 international journals<br />
<br />
== Awards ==<br />
* [http://www2.frs-fnrs.be/fr/financer-les-chercheurs/prix-scientifiques/349-fonds-isdt-wernaers.html WERNAERS award] 2010 <br />
* TOYP Belgium (the outstanding young person) award, section sciences and technology 1997.<br />
* [http://www.ulg.ac.be/amis/laureats.html Prix André Leroux] 1995 de l'Association des Amis de l'Université de Liège.<br />
* [http://www.fnrs.be/3-financement/4-prix.html Prix IBM Belgique d'Informatique], Ph.D. thesis, F.N.R.S. 1993.<br />
* Prix IRMA (Institut de Recherches Marines et d'Interaction Air-Mer) 1992.<br />
<br />
<br />
== Hobbies ==<br />
<br />
* Photography during trekking in remote locations<br />
* Cooking for and with friends</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_documents
Diva documents
2014-03-05T00:42:47Z
<p>Jmb: /* Latest version */</p>
<hr />
<div>== User guides ==<br />
<br />
The latest version of the user guide now contains the additional documents (detrending, driver options, etc), except the stabilization tool available below. It will be included in the next editions. <br />
Any feedback on errors in the documentation or points which need clarification is highly welcomed. <br />
<br />
=== Latest version ===<br />
<br />
* User guide: [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaUserGuide_February2014.pdf DivaUserGuide_February2014.pdf]<br />
* How to prepare a climatology calculation: [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/climatocook.pdf climatocook.pdf]<br />
* Stabilization tool: [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaSTBUserGuide.pdf DivaSTBUserGuide.pdf]<br />
<br />
=== Older versions ===<br />
* User guide: [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaUserGuide_October2013.pdf DivaUserGuide_October2013.pdf]<br />
* User guide: [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaUserGuide_June2013.pdf DivaUserGuide_June2013.pdf]<br />
* User guide: [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaUserGuide_March2013.pdf DivaUserGuide_March2013.pdf]<br />
* Diva 4D Manual: [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/Diva4DUserGuide.pdf Diva4DUserGuide.pdf] (March 2011)<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaUserGuide2010.pdf DivaUserGuide2010.pdf] (November 2010)<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaUserGuide2009.pdf DivaUserGuide2009.pdf] (July 2009)<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaUserGuide2008.pdf DivaUserGuide2008.pdf] <br />
* Diva 3D Manual: [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/Diva3DUserGuide.pdf Diva3DUserGuide.pdf]<br />
<br />
=== Additional documents ===<br />
<br />
The small manuals aims to help the user for particular tasks (detrending, integrals, ...) or to summarize the main manuals.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/driver_options.pdf driver_options.pdf] (March 2012): options to configure the ''driver'' file.<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/divademecum.pdf divademecum.pdf]: a summary for main Diva commands <br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/divadetrend.pdf divadetrend.pdf]: a tool to remove trends from measurements <br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/divadoxml.pdf divadoxml.pdf]: to generate automatically xml files associated to the NetCDF climatologies and that will serve to describe the products in online catalogues <br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DriverConfig.pdf DriverConfig.pdf]: a summary of the values of the parameters in the driver file <br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/godiva_driver.pdf godiva_driver.pdf]: a summary of the options of GODIVA<br />
<br />
== Conferences, meeting, posters ==<br />
<br />
The lists are generated and updated automatically using the [http://orbi.ulg.ac.be/tools/ulg-widget orbi] tool.<br />
The keyword '''DIVA''' has to be present in the orbi entry.<br />
<br />
=== Talks ===<br />
<div style="float: left;width: 60%"><br />
<br />
<html><br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28researchcenter%3ACentre+researchcenter%3AInterfacultaire+researchcenter%3Ade+researchcenter%3ARecherches+researchcenter%3Aen+researchcenter%3AOc%C3%A9anologie%29+AND+%28keyword%3ADIVA%29%29+AND+%28%28type%3A%23D01%29+OR+%28type%3A%23D02%29+OR+%28type%3A%23D03%29+OR+%28type%3A%23M01%29+OR+%28type%3A%23L02%29+OR+%28type%3A%23L03%29%29&amp;chars=0&amp;etal=3&amp;language=en&amp;data=&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" frameborder="0" height="450" scrolling="auto" width="800"></iframe><br />
</html><br />
<br />
'''Regional products report specifications for data flow <br><br />
J.-M. Beckers, C. Troupin, D. Sirjacobs and M. Ouberdous <br><br />
SeaDataNet 1st Annual Meeting, Trieste (Italy), 19-20 March 2007<br><br />
[http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/talks/DivaSDNannual2007.pdf DivaSDNannual2007.pdf]<br />
<br />
<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
=== Posters ===<br />
<br />
<div style="float: left;width: 60%"><br />
<br />
<html><br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28researchcenter%3ACentre+researchcenter%3AInterfacultaire+researchcenter%3Ade+researchcenter%3ARecherches+researchcenter%3Aen+researchcenter%3AOc%C3%A9anologie%29+AND+%28keyword%3ADIVA%29%29+AND+%28%28type%3A%23D04%29%29&amp;chars=0&amp;etal=3&amp;language=en&amp;data=&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" frameborder="0" height="450" scrolling="auto" width="800"></iframe><br />
</html><br />
<br />
</div><div style="float: left; width: 40%"><br />
[[Image:DivaPosterEBUS2008.png|right|border|400px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== Teaching ==<br />
<br />
===IODE SeaDataNet Training course 2012===<br />
<br />
The presentations made during the training course are available [http://www.seadatanet.org/Events/Training-courses/First-training-course/Presentations#6 here]<br />
<br />
===A presentation at ESA Summerschool 2010===<br />
<br />
Overview of state estimation and [http://earth.eo.esa.int/eosummerschool/envschool_2010/JB1.pdf Diva]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_documents
Diva documents
2014-02-15T16:22:58Z
<p>Jmb: /* User guides */</p>
<hr />
<div>== User guides ==<br />
<br />
The latest version of the user guide now contains the additional documents (detrending, driver options, etc), except the stabilization tool available below. It will be included in the next editions. <br />
Any feedback on errors in the documentation or points which need clarification is highly welcomed. <br />
<br />
=== Latest version ===<br />
<br />
* User guide: [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaUserGuide_October2013.pdf DivaUserGuide_October2013.pdf]<br />
* Stabilization tool: [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaSTBUserGuide.pdf DivaSTBUserGuide.pdf]<br />
<br />
=== Older versions ===<br />
* User guide: [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaUserGuide_June2013.pdf DivaUserGuide_June2013.pdf]<br />
* User guide: [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaUserGuide_March2013.pdf DivaUserGuide_March2013.pdf]<br />
* Diva 4D Manual: [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/Diva4DUserGuide.pdf Diva4DUserGuide.pdf] (March 2011)<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaUserGuide2010.pdf DivaUserGuide2010.pdf] (November 2010)<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaUserGuide2009.pdf DivaUserGuide2009.pdf] (July 2009)<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DivaUserGuide2008.pdf DivaUserGuide2008.pdf] <br />
* Diva 3D Manual: [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/Diva3DUserGuide.pdf Diva3DUserGuide.pdf]<br />
<br />
=== Additional documents ===<br />
<br />
The small manuals aims to help the user for particular tasks (detrending, integrals, ...) or to summarize the main manuals.<br />
<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/driver_options.pdf driver_options.pdf] (March 2012): options to configure the ''driver'' file.<br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/divademecum.pdf divademecum.pdf]: a summary for main Diva commands <br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/divadetrend.pdf divadetrend.pdf]: a tool to remove trends from measurements <br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/divadoxml.pdf divadoxml.pdf]: to generate automatically xml files associated to the NetCDF climatologies and that will serve to describe the products in online catalogues <br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/DriverConfig.pdf DriverConfig.pdf]: a summary of the values of the parameters in the driver file <br />
* [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/godiva_driver.pdf godiva_driver.pdf]: a summary of the options of GODIVA<br />
<br />
== Conferences, meeting, posters ==<br />
<br />
The lists are generated and updated automatically using the [http://orbi.ulg.ac.be/tools/ulg-widget orbi] tool.<br />
The keyword '''DIVA''' has to be present in the orbi entry.<br />
<br />
=== Talks ===<br />
<div style="float: left;width: 60%"><br />
<br />
<html><br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28researchcenter%3ACentre+researchcenter%3AInterfacultaire+researchcenter%3Ade+researchcenter%3ARecherches+researchcenter%3Aen+researchcenter%3AOc%C3%A9anologie%29+AND+%28keyword%3ADIVA%29%29+AND+%28%28type%3A%23D01%29+OR+%28type%3A%23D02%29+OR+%28type%3A%23D03%29+OR+%28type%3A%23M01%29+OR+%28type%3A%23L02%29+OR+%28type%3A%23L03%29%29&amp;chars=0&amp;etal=3&amp;language=en&amp;data=&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" frameborder="0" height="450" scrolling="auto" width="800"></iframe><br />
</html><br />
<br />
'''Regional products report specifications for data flow <br><br />
J.-M. Beckers, C. Troupin, D. Sirjacobs and M. Ouberdous <br><br />
SeaDataNet 1st Annual Meeting, Trieste (Italy), 19-20 March 2007<br><br />
[http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/talks/DivaSDNannual2007.pdf DivaSDNannual2007.pdf]<br />
<br />
<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
=== Posters ===<br />
<br />
<div style="float: left;width: 60%"><br />
<br />
<html><br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28researchcenter%3ACentre+researchcenter%3AInterfacultaire+researchcenter%3Ade+researchcenter%3ARecherches+researchcenter%3Aen+researchcenter%3AOc%C3%A9anologie%29+AND+%28keyword%3ADIVA%29%29+AND+%28%28type%3A%23D04%29%29&amp;chars=0&amp;etal=3&amp;language=en&amp;data=&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" frameborder="0" height="450" scrolling="auto" width="800"></iframe><br />
</html><br />
<br />
</div><div style="float: left; width: 40%"><br />
[[Image:DivaPosterEBUS2008.png|right|border|400px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== Teaching ==<br />
<br />
===IODE SeaDataNet Training course 2012===<br />
<br />
The presentations made during the training course are available [http://www.seadatanet.org/Events/Training-courses/First-training-course/Presentations#6 here]<br />
<br />
===A presentation at ESA Summerschool 2010===<br />
<br />
Overview of state estimation and [http://earth.eo.esa.int/eosummerschool/envschool_2010/JB1.pdf Diva]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DIVA
DIVA
2014-02-15T16:04:39Z
<p>Jmb: /* How to get the code? */</p>
<hr />
<div><div style="float: left; text-align:justify;width: 55%"><br />
DIVA (Data-Interpolating Variational Analysis) allows the spatial interpolation of data (''analysis'') in an optimal way, comparable to optimal interpolation (OI). In comparison to OI it takes into account coastlines, sub-basins and advection. Calculations are highly optimized and rely on a finite element resolution. Tools to generate the finite element mesh are provided as well as tools to optimize the parameters of the analysis. Quality control of data can be performed and error fields can be calculated. Also detrending of data is possible. Finally 3D and 4D extensions are included with emphasis on direct computations of climatologies from [http://odv.awi.de/ ODV] spreadsheet files.<br />
<br />
The DIVA development has received funding from the European Union Sixth Framework Programme (FP6/2002-2006) under grant agreement n° 026212, SeaDataNet, Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 283607, [http://www.seadatanet.org/ SeaDataNet SeaDataNet II], and project EMODNet (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries. <br />
<br />
</div><div style="float: right; width: 45%"><br />
[[File:Logo_diva_1500.png|frameless|center|400px]] <br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
<br />
== In a few words == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is a software developed for gridding in situ data. <br />
<br />
It uses a [http://en.wikipedia.org/wiki/Finite_element_method finite-element method] to solve a variational principle which takes into account<br />
# the distance between analysis and data (''observation constraint''),<br />
# the regularity of the analysis (''smoothness constraint''),<br />
# physical laws (''behaviour constraint'').<br />
<br />
The advantage of the method over classic interpolation methods is multiple:<br />
* the coastline are taken into account during the analysis, since the variational principle is solved only in the region covered by the sea. This prevents the information from traveling across boundaries (''e.g.'', peninsula, islands, ''etc'') and then produce artificial mixing between water masses.<br />
* the numerical cost is not dependent on the number of data, but on the number of degrees of freedom, itself related to the size of the finite-element mesh.<br />
<br />
</div><div style="float: right; width: 40%"><br />
[[Image:diva_gridding_canary.png|thumb|center|400px||In situ measurement and gridded field obtained using September temperature at 50 m in the Canary Island area.]]<br />
<br/><br />
<br />
<br />
</div><br />
<br style="clear: both" /><br />
<br />
== How to get the code? == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is copyright © 2006-2013 by the GHER group and is distributed under the terms of the<br />
GNU General Public License (GPLv3 or later) http://www.gnu.org/copyleft/gpl.html or EUPL1.1 (or later) https://joinup.ec.europa.eu/software/page/eupl left as a choice to the user.<br />
<br />
* Patch for content of 4D netCDF files [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/patchdiva-4.6.3.tar.gz patchdiva-4.6.3.tar.gz] (Look at README.txt file for instructions. 15/02/2014) <br />
<br />
* Latest version (December 2013): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.6.3.tar.gz diva-4.6.3.tar.gz] <br />
The binaries for various O.S. are also provided:<br><br />
'''Mac O.S.:''' [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_macOS_4.6.2.zip binaries_macOS_4.6.2.zip]<br> <br />
(thanks to F. Laenen, Observatoire de la Côte d'Azur, France)<br><br />
'''Linux''' Mint 14 Nadia (Debian, x86_64): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_Linux64_4.6.2.zip binaries_Linux64_4.6.2.zip]<br />
<br />
* [[New_Diva_Features|New features]] in the latest version<br />
* Previous releases: [[Diva_old_versions|here]]<br />
<br />
The code runs preferentially with Linux operating systems, but can also be used under Windows, provided a unix-like environment is installed ([http://www.cygwin.com/ Cygwin], [http://www.mingw.org/wiki/MSYS Msys], ...)<br />
<br />
The binary sources can be provided for several platforms, but if the code has to be re-compiled, then a Fortran compiler ([http://gcc.gnu.org/wiki/GFortran gfortran], [http://software.intel.com/en-us/articles/intel-compilers/ ifort], [http://www.pgroup.com/ pgi]) is needed, along with the [http://www.unidata.ucar.edu/software/netcdf/ NetCDF] library if this format is to be used for the outputs.<br />
<br />
We also recommend you to register on the [http://groups.google.com/group/diva_users Diva Users Group]<br />
<br />
[[Diva_installation|Diva_installation]]: for more details about the installation.<br />
<br />
The manual and documentation are available [http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_documents here].<br />
<br />
<br />
A simple matlab interface for basic operations is available [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
</div><div style="float: left; width: 45%"><br />
[[File:diva46.png|frameless|super|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== How to try DIVA without installing ? ==<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
If you are familiar with Ocean Data View ([http://odv.awi.de ODV]) you can access DIVA gridding when plotting vertical or horizontal sections as the other 25000 scientists using ODV.<br />
<br />
You can also use basic DIVA features in a web application [http://gher-diva.phys.ulg.ac.be/web-vis/diva.html Diva on Web] if you have your data ready in a simple three-column ascii file or ODV ascii spreadsheet format.<br />
<br />
If you are familiar with Matlab, some basic interface is provided here: [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:Divaonweb.png|frameless|super|right|350px]]<br />
<br />
</div><br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== User workshops ==<br />
<br />
<div style="float: left; width: 55%"><br />
Since 2006, we organize a workshop for the users, principally members of the region groups responsible for the climatology production in [http://www.seadatanet.org/ SeaDataNet]. During these workshop, several experts are present to help newcomers, but also latest developments are presented for advanced users. Generally a wish-list from users is established at the end of the workshop. Please contact us if you are interested in attending.<br />
<br />
*'''Next workshop:''' tentative dates: 3-7 November 2014: [[Diva_workshop_2014_Stareso]]<br />
<br />
*'''Last workshop:''' 4-8 November 2013: [[Diva_workshop_2013_Stareso]]<br />
<br />
*[[Previous_workshops|Previous_workshops]]: information about the previous workshops.<br />
<!--[[Diva_workshop_2012|Diva_workshop_2012]]--><br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:cartelDIVA.jpg|frameless|super|right|250px]]<br />
<br />
</div><br />
<br />
== The method == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
In oceanography, a typical concern consists in determining a field on a regular grid of positions '''r''' knowing N;<sub>d</sub> data in locations '''r<sub>j</sub>''', j=1,..., N<sub>d</sub>. This is called the ''gridding problem'' and is useful for many applications such as data analysis, graphical display, forcing or initialization of a model.<br />
<br />
It is designed to solve 2-D differential or variational problems of elliptic type with a finite element method. Its end is to obtain a gridded field from the knowledge of sparse data points.<br />
<br />
You can discover more details about the method here: [[DIVA_method|DIVA_method]]<br />
</div><div style="float: left; width: 45%"><br />
[[File:Gridding2.png|frameless|super|right|250px]]<br />
</div><br />
<br />
== Publications & documents == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
* [[Diva_publications|Related publications]]: a list of publications where Diva is described or employed to generate gridded fields.<br />
<br />
* [[Diva_documents|Documents]]: user manuals, presentations and posters.<br />
<br />
* [[Diva_applications|Applications]]: examples of climatologies from region groups of [http://www.seadatanet.org/ SeaDataNet]. <br />
<br />
* [[Diva_FAQ|FAQ]]<br />
<br />
* [[Diva_Problems_and_solutions|Problems and solutions]]<br />
<br />
* '''How to cite?''' <br />
<br />
<html><br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28title%3AGeneration+title%3Aof+title%3Aanalysis+title%3Aand+title%3Aconsistent+title%3Aerror+title%3A%EF%AC%81elds+title%3Ausing+title%3Athe+title%3AData+title%3AInterpolating+title%3AVariational+title%3AAnalysis+title%3A%28Diva%29%29%29+AND+%28%28type%3A%23A01%29%29&amp;chars=0&amp;list=1&amp;language=en&amp;data=&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" scrolling="no" width="450" frameborder="0" height="150"></iframe><br />
</html><br />
<br />
BibTeX entry:<br />
<br />
@ARTICLE{TROUPIN2012OM,<br />
author = {Troupin, C. and Barth, A. and Sirjacobs, D. and Ouberdous, M. and <br />
Brankart, J.-M. and Brasseur, P. and Rixen, M. and Alvera-Azc\'{a}rate, A. and <br />
Belounis, M. and Capet, A. and Lenartz, F. and Toussaint, M.-E. and Beckers, J.-M.},<br />
title = {Generation of analysis and consistent error fields using the Data<br />
Interpolating Variational Analysis (Diva)},<br />
journal = Ocean Modelling,<br />
year = {2012},<br />
volume = {52-53},<br />
pages = {90-101},<br />
doi = {10.1016/j.ocemod.2012.05.002},<br />
url = {http://www.sciencedirect.com/science/article/pii/S1463500312000790 }<br />
}<br />
<br />
* '''How to acknowledge?'''<br />
<br />
''The research leading to the last developments of \diva has received funding from the European Union Seventh Framework Programme (FP7/2007-2013) under grant agreement No. 283607, SeaDataNet 2, and from project EMODNET (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries.''<br />
<br />
</div><div style="float: left; text-align:justify;width: 45%"><br />
[[File:Diva_publi.png|frameless|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== Plotting tools ==<br />
<br />
=== Matlab ===<br />
<br />
* Some scripts in matlab for helping in the preparation of figures: [[Diva_matlab|Diva_matlab]]<br />
<br />
* For calculating within matlab, some basic interface is [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br style="clear: both" /><br />
<br />
[[File:Psal_00_12.png|frameless|200px]] [[File:Diva_oi_09_10030analysisDIVA_contour.png|frameless|250px]] [[File:BlackSeaOxyField2.png|frameless|250px]]<br />
<br />
=== Python ===<br />
<br />
[http://www.python.org/ Python] is a object-oriented, free to use, programming language. It is directly available through the package manager of recent Linux distributions.<br />
<br />
* Some scripts in python for helping in the preparation of figures: [[Diva_python|Diva_python]]<br />
<br />
== Products ==<br />
<br />
DIVA has been used to prepare several regional climatologies.<br />
<br />
The results can be found in [[Diva_products|Diva Products]]<br />
<br />
== Quality control of products == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
The issue of the quality of the products has been addressed by the EC. This page deals with the successive steps that have to be followed in order to ensure the quality of the products generated by the application of DIVA.<br />
<br />
[[Diva_QC|Quality control of products]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== Testing new versions == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Every time a significant modification is made to the source code, a set of tests have to be performed to insure that no error was introduced. <br />
These tests will be described in the following page and only concern Diva developers or beta testers: [[Diva_testing|Testing new versions]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
<br />
<br />
[[Category : Diva]]<br />
<br />
== SVN commands for Diva == <br />
<br />
A list of commands used to manage the subversions of Diva, also only for developers or beta testers<br />
<br />
[[Diva_SVN|SVN commands for Diva]]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DIVA
DIVA
2014-02-15T16:04:14Z
<p>Jmb: /* How to get the code? */</p>
<hr />
<div><div style="float: left; text-align:justify;width: 55%"><br />
DIVA (Data-Interpolating Variational Analysis) allows the spatial interpolation of data (''analysis'') in an optimal way, comparable to optimal interpolation (OI). In comparison to OI it takes into account coastlines, sub-basins and advection. Calculations are highly optimized and rely on a finite element resolution. Tools to generate the finite element mesh are provided as well as tools to optimize the parameters of the analysis. Quality control of data can be performed and error fields can be calculated. Also detrending of data is possible. Finally 3D and 4D extensions are included with emphasis on direct computations of climatologies from [http://odv.awi.de/ ODV] spreadsheet files.<br />
<br />
The DIVA development has received funding from the European Union Sixth Framework Programme (FP6/2002-2006) under grant agreement n° 026212, SeaDataNet, Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 283607, [http://www.seadatanet.org/ SeaDataNet SeaDataNet II], and project EMODNet (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries. <br />
<br />
</div><div style="float: right; width: 45%"><br />
[[File:Logo_diva_1500.png|frameless|center|400px]] <br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
<br />
== In a few words == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is a software developed for gridding in situ data. <br />
<br />
It uses a [http://en.wikipedia.org/wiki/Finite_element_method finite-element method] to solve a variational principle which takes into account<br />
# the distance between analysis and data (''observation constraint''),<br />
# the regularity of the analysis (''smoothness constraint''),<br />
# physical laws (''behaviour constraint'').<br />
<br />
The advantage of the method over classic interpolation methods is multiple:<br />
* the coastline are taken into account during the analysis, since the variational principle is solved only in the region covered by the sea. This prevents the information from traveling across boundaries (''e.g.'', peninsula, islands, ''etc'') and then produce artificial mixing between water masses.<br />
* the numerical cost is not dependent on the number of data, but on the number of degrees of freedom, itself related to the size of the finite-element mesh.<br />
<br />
</div><div style="float: right; width: 40%"><br />
[[Image:diva_gridding_canary.png|thumb|center|400px||In situ measurement and gridded field obtained using September temperature at 50 m in the Canary Island area.]]<br />
<br/><br />
<br />
<br />
</div><br />
<br style="clear: both" /><br />
<br />
== How to get the code? == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is copyright © 2006-2013 by the GHER group and is distributed under the terms of the<br />
GNU General Public License (GPLv3 or later) http://www.gnu.org/copyleft/gpl.html or EUPL1.1 (or later) https://joinup.ec.europa.eu/software/page/eupl left as a choice to the user.<br />
<br />
* Patch for content of 4D netCDF files [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/patchdiva-4.6.3.tar.gz patchdiva-4.6.3.tar.gz] (Look at README.txt file for instructions) <br />
<br />
* Latest version (December 2013): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.6.3.tar.gz diva-4.6.3.tar.gz] <br />
The binaries for various O.S. are also provided:<br><br />
'''Mac O.S.:''' [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_macOS_4.6.2.zip binaries_macOS_4.6.2.zip]<br> <br />
(thanks to F. Laenen, Observatoire de la Côte d'Azur, France)<br><br />
'''Linux''' Mint 14 Nadia (Debian, x86_64): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_Linux64_4.6.2.zip binaries_Linux64_4.6.2.zip]<br />
<br />
* [[New_Diva_Features|New features]] in the latest version<br />
* Previous releases: [[Diva_old_versions|here]]<br />
<br />
The code runs preferentially with Linux operating systems, but can also be used under Windows, provided a unix-like environment is installed ([http://www.cygwin.com/ Cygwin], [http://www.mingw.org/wiki/MSYS Msys], ...)<br />
<br />
The binary sources can be provided for several platforms, but if the code has to be re-compiled, then a Fortran compiler ([http://gcc.gnu.org/wiki/GFortran gfortran], [http://software.intel.com/en-us/articles/intel-compilers/ ifort], [http://www.pgroup.com/ pgi]) is needed, along with the [http://www.unidata.ucar.edu/software/netcdf/ NetCDF] library if this format is to be used for the outputs.<br />
<br />
We also recommend you to register on the [http://groups.google.com/group/diva_users Diva Users Group]<br />
<br />
[[Diva_installation|Diva_installation]]: for more details about the installation.<br />
<br />
The manual and documentation are available [http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_documents here].<br />
<br />
<br />
A simple matlab interface for basic operations is available [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
</div><div style="float: left; width: 45%"><br />
[[File:diva46.png|frameless|super|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== How to try DIVA without installing ? ==<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
If you are familiar with Ocean Data View ([http://odv.awi.de ODV]) you can access DIVA gridding when plotting vertical or horizontal sections as the other 25000 scientists using ODV.<br />
<br />
You can also use basic DIVA features in a web application [http://gher-diva.phys.ulg.ac.be/web-vis/diva.html Diva on Web] if you have your data ready in a simple three-column ascii file or ODV ascii spreadsheet format.<br />
<br />
If you are familiar with Matlab, some basic interface is provided here: [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:Divaonweb.png|frameless|super|right|350px]]<br />
<br />
</div><br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== User workshops ==<br />
<br />
<div style="float: left; width: 55%"><br />
Since 2006, we organize a workshop for the users, principally members of the region groups responsible for the climatology production in [http://www.seadatanet.org/ SeaDataNet]. During these workshop, several experts are present to help newcomers, but also latest developments are presented for advanced users. Generally a wish-list from users is established at the end of the workshop. Please contact us if you are interested in attending.<br />
<br />
*'''Next workshop:''' tentative dates: 3-7 November 2014: [[Diva_workshop_2014_Stareso]]<br />
<br />
*'''Last workshop:''' 4-8 November 2013: [[Diva_workshop_2013_Stareso]]<br />
<br />
*[[Previous_workshops|Previous_workshops]]: information about the previous workshops.<br />
<!--[[Diva_workshop_2012|Diva_workshop_2012]]--><br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:cartelDIVA.jpg|frameless|super|right|250px]]<br />
<br />
</div><br />
<br />
== The method == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
In oceanography, a typical concern consists in determining a field on a regular grid of positions '''r''' knowing N;<sub>d</sub> data in locations '''r<sub>j</sub>''', j=1,..., N<sub>d</sub>. This is called the ''gridding problem'' and is useful for many applications such as data analysis, graphical display, forcing or initialization of a model.<br />
<br />
It is designed to solve 2-D differential or variational problems of elliptic type with a finite element method. Its end is to obtain a gridded field from the knowledge of sparse data points.<br />
<br />
You can discover more details about the method here: [[DIVA_method|DIVA_method]]<br />
</div><div style="float: left; width: 45%"><br />
[[File:Gridding2.png|frameless|super|right|250px]]<br />
</div><br />
<br />
== Publications & documents == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
* [[Diva_publications|Related publications]]: a list of publications where Diva is described or employed to generate gridded fields.<br />
<br />
* [[Diva_documents|Documents]]: user manuals, presentations and posters.<br />
<br />
* [[Diva_applications|Applications]]: examples of climatologies from region groups of [http://www.seadatanet.org/ SeaDataNet]. <br />
<br />
* [[Diva_FAQ|FAQ]]<br />
<br />
* [[Diva_Problems_and_solutions|Problems and solutions]]<br />
<br />
* '''How to cite?''' <br />
<br />
<html><br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28title%3AGeneration+title%3Aof+title%3Aanalysis+title%3Aand+title%3Aconsistent+title%3Aerror+title%3A%EF%AC%81elds+title%3Ausing+title%3Athe+title%3AData+title%3AInterpolating+title%3AVariational+title%3AAnalysis+title%3A%28Diva%29%29%29+AND+%28%28type%3A%23A01%29%29&amp;chars=0&amp;list=1&amp;language=en&amp;data=&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" scrolling="no" width="450" frameborder="0" height="150"></iframe><br />
</html><br />
<br />
BibTeX entry:<br />
<br />
@ARTICLE{TROUPIN2012OM,<br />
author = {Troupin, C. and Barth, A. and Sirjacobs, D. and Ouberdous, M. and <br />
Brankart, J.-M. and Brasseur, P. and Rixen, M. and Alvera-Azc\'{a}rate, A. and <br />
Belounis, M. and Capet, A. and Lenartz, F. and Toussaint, M.-E. and Beckers, J.-M.},<br />
title = {Generation of analysis and consistent error fields using the Data<br />
Interpolating Variational Analysis (Diva)},<br />
journal = Ocean Modelling,<br />
year = {2012},<br />
volume = {52-53},<br />
pages = {90-101},<br />
doi = {10.1016/j.ocemod.2012.05.002},<br />
url = {http://www.sciencedirect.com/science/article/pii/S1463500312000790 }<br />
}<br />
<br />
* '''How to acknowledge?'''<br />
<br />
''The research leading to the last developments of \diva has received funding from the European Union Seventh Framework Programme (FP7/2007-2013) under grant agreement No. 283607, SeaDataNet 2, and from project EMODNET (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries.''<br />
<br />
</div><div style="float: left; text-align:justify;width: 45%"><br />
[[File:Diva_publi.png|frameless|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== Plotting tools ==<br />
<br />
=== Matlab ===<br />
<br />
* Some scripts in matlab for helping in the preparation of figures: [[Diva_matlab|Diva_matlab]]<br />
<br />
* For calculating within matlab, some basic interface is [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br style="clear: both" /><br />
<br />
[[File:Psal_00_12.png|frameless|200px]] [[File:Diva_oi_09_10030analysisDIVA_contour.png|frameless|250px]] [[File:BlackSeaOxyField2.png|frameless|250px]]<br />
<br />
=== Python ===<br />
<br />
[http://www.python.org/ Python] is a object-oriented, free to use, programming language. It is directly available through the package manager of recent Linux distributions.<br />
<br />
* Some scripts in python for helping in the preparation of figures: [[Diva_python|Diva_python]]<br />
<br />
== Products ==<br />
<br />
DIVA has been used to prepare several regional climatologies.<br />
<br />
The results can be found in [[Diva_products|Diva Products]]<br />
<br />
== Quality control of products == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
The issue of the quality of the products has been addressed by the EC. This page deals with the successive steps that have to be followed in order to ensure the quality of the products generated by the application of DIVA.<br />
<br />
[[Diva_QC|Quality control of products]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== Testing new versions == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Every time a significant modification is made to the source code, a set of tests have to be performed to insure that no error was introduced. <br />
These tests will be described in the following page and only concern Diva developers or beta testers: [[Diva_testing|Testing new versions]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
<br />
<br />
[[Category : Diva]]<br />
<br />
== SVN commands for Diva == <br />
<br />
A list of commands used to manage the subversions of Diva, also only for developers or beta testers<br />
<br />
[[Diva_SVN|SVN commands for Diva]]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DIVA
DIVA
2014-02-15T16:03:37Z
<p>Jmb: /* How to get the code? */</p>
<hr />
<div><div style="float: left; text-align:justify;width: 55%"><br />
DIVA (Data-Interpolating Variational Analysis) allows the spatial interpolation of data (''analysis'') in an optimal way, comparable to optimal interpolation (OI). In comparison to OI it takes into account coastlines, sub-basins and advection. Calculations are highly optimized and rely on a finite element resolution. Tools to generate the finite element mesh are provided as well as tools to optimize the parameters of the analysis. Quality control of data can be performed and error fields can be calculated. Also detrending of data is possible. Finally 3D and 4D extensions are included with emphasis on direct computations of climatologies from [http://odv.awi.de/ ODV] spreadsheet files.<br />
<br />
The DIVA development has received funding from the European Union Sixth Framework Programme (FP6/2002-2006) under grant agreement n° 026212, SeaDataNet, Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 283607, [http://www.seadatanet.org/ SeaDataNet SeaDataNet II], and project EMODNet (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries. <br />
<br />
</div><div style="float: right; width: 45%"><br />
[[File:Logo_diva_1500.png|frameless|center|400px]] <br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
<br />
== In a few words == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is a software developed for gridding in situ data. <br />
<br />
It uses a [http://en.wikipedia.org/wiki/Finite_element_method finite-element method] to solve a variational principle which takes into account<br />
# the distance between analysis and data (''observation constraint''),<br />
# the regularity of the analysis (''smoothness constraint''),<br />
# physical laws (''behaviour constraint'').<br />
<br />
The advantage of the method over classic interpolation methods is multiple:<br />
* the coastline are taken into account during the analysis, since the variational principle is solved only in the region covered by the sea. This prevents the information from traveling across boundaries (''e.g.'', peninsula, islands, ''etc'') and then produce artificial mixing between water masses.<br />
* the numerical cost is not dependent on the number of data, but on the number of degrees of freedom, itself related to the size of the finite-element mesh.<br />
<br />
</div><div style="float: right; width: 40%"><br />
[[Image:diva_gridding_canary.png|thumb|center|400px||In situ measurement and gridded field obtained using September temperature at 50 m in the Canary Island area.]]<br />
<br/><br />
<br />
<br />
</div><br />
<br style="clear: both" /><br />
<br />
== How to get the code? == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is copyright © 2006-2013 by the GHER group and is distributed under the terms of the<br />
GNU General Public License (GPLv3 or later) http://www.gnu.org/copyleft/gpl.html or EUPL1.1 (or later) https://joinup.ec.europa.eu/software/page/eupl left as a choice to the user.<br />
<br />
* Patch for content of 4D netCDF files [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/patchdiva-4-6-3.tar.gz patchdiva-4.6.3.tar.gz] (Look at README.txt file for instructions) <br />
<br />
* Latest version (December 2013): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.6.3.tar.gz diva-4.6.3.tar.gz] <br />
The binaries for various O.S. are also provided:<br><br />
'''Mac O.S.:''' [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_macOS_4.6.2.zip binaries_macOS_4.6.2.zip]<br> <br />
(thanks to F. Laenen, Observatoire de la Côte d'Azur, France)<br><br />
'''Linux''' Mint 14 Nadia (Debian, x86_64): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_Linux64_4.6.2.zip binaries_Linux64_4.6.2.zip]<br />
<br />
* [[New_Diva_Features|New features]] in the latest version<br />
* Previous releases: [[Diva_old_versions|here]]<br />
<br />
The code runs preferentially with Linux operating systems, but can also be used under Windows, provided a unix-like environment is installed ([http://www.cygwin.com/ Cygwin], [http://www.mingw.org/wiki/MSYS Msys], ...)<br />
<br />
The binary sources can be provided for several platforms, but if the code has to be re-compiled, then a Fortran compiler ([http://gcc.gnu.org/wiki/GFortran gfortran], [http://software.intel.com/en-us/articles/intel-compilers/ ifort], [http://www.pgroup.com/ pgi]) is needed, along with the [http://www.unidata.ucar.edu/software/netcdf/ NetCDF] library if this format is to be used for the outputs.<br />
<br />
We also recommend you to register on the [http://groups.google.com/group/diva_users Diva Users Group]<br />
<br />
[[Diva_installation|Diva_installation]]: for more details about the installation.<br />
<br />
The manual and documentation are available [http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_documents here].<br />
<br />
<br />
A simple matlab interface for basic operations is available [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
</div><div style="float: left; width: 45%"><br />
[[File:diva46.png|frameless|super|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== How to try DIVA without installing ? ==<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
If you are familiar with Ocean Data View ([http://odv.awi.de ODV]) you can access DIVA gridding when plotting vertical or horizontal sections as the other 25000 scientists using ODV.<br />
<br />
You can also use basic DIVA features in a web application [http://gher-diva.phys.ulg.ac.be/web-vis/diva.html Diva on Web] if you have your data ready in a simple three-column ascii file or ODV ascii spreadsheet format.<br />
<br />
If you are familiar with Matlab, some basic interface is provided here: [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:Divaonweb.png|frameless|super|right|350px]]<br />
<br />
</div><br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== User workshops ==<br />
<br />
<div style="float: left; width: 55%"><br />
Since 2006, we organize a workshop for the users, principally members of the region groups responsible for the climatology production in [http://www.seadatanet.org/ SeaDataNet]. During these workshop, several experts are present to help newcomers, but also latest developments are presented for advanced users. Generally a wish-list from users is established at the end of the workshop. Please contact us if you are interested in attending.<br />
<br />
*'''Next workshop:''' tentative dates: 3-7 November 2014: [[Diva_workshop_2014_Stareso]]<br />
<br />
*'''Last workshop:''' 4-8 November 2013: [[Diva_workshop_2013_Stareso]]<br />
<br />
*[[Previous_workshops|Previous_workshops]]: information about the previous workshops.<br />
<!--[[Diva_workshop_2012|Diva_workshop_2012]]--><br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:cartelDIVA.jpg|frameless|super|right|250px]]<br />
<br />
</div><br />
<br />
== The method == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
In oceanography, a typical concern consists in determining a field on a regular grid of positions '''r''' knowing N;<sub>d</sub> data in locations '''r<sub>j</sub>''', j=1,..., N<sub>d</sub>. This is called the ''gridding problem'' and is useful for many applications such as data analysis, graphical display, forcing or initialization of a model.<br />
<br />
It is designed to solve 2-D differential or variational problems of elliptic type with a finite element method. Its end is to obtain a gridded field from the knowledge of sparse data points.<br />
<br />
You can discover more details about the method here: [[DIVA_method|DIVA_method]]<br />
</div><div style="float: left; width: 45%"><br />
[[File:Gridding2.png|frameless|super|right|250px]]<br />
</div><br />
<br />
== Publications & documents == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
* [[Diva_publications|Related publications]]: a list of publications where Diva is described or employed to generate gridded fields.<br />
<br />
* [[Diva_documents|Documents]]: user manuals, presentations and posters.<br />
<br />
* [[Diva_applications|Applications]]: examples of climatologies from region groups of [http://www.seadatanet.org/ SeaDataNet]. <br />
<br />
* [[Diva_FAQ|FAQ]]<br />
<br />
* [[Diva_Problems_and_solutions|Problems and solutions]]<br />
<br />
* '''How to cite?''' <br />
<br />
<html><br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28title%3AGeneration+title%3Aof+title%3Aanalysis+title%3Aand+title%3Aconsistent+title%3Aerror+title%3A%EF%AC%81elds+title%3Ausing+title%3Athe+title%3AData+title%3AInterpolating+title%3AVariational+title%3AAnalysis+title%3A%28Diva%29%29%29+AND+%28%28type%3A%23A01%29%29&amp;chars=0&amp;list=1&amp;language=en&amp;data=&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" scrolling="no" width="450" frameborder="0" height="150"></iframe><br />
</html><br />
<br />
BibTeX entry:<br />
<br />
@ARTICLE{TROUPIN2012OM,<br />
author = {Troupin, C. and Barth, A. and Sirjacobs, D. and Ouberdous, M. and <br />
Brankart, J.-M. and Brasseur, P. and Rixen, M. and Alvera-Azc\'{a}rate, A. and <br />
Belounis, M. and Capet, A. and Lenartz, F. and Toussaint, M.-E. and Beckers, J.-M.},<br />
title = {Generation of analysis and consistent error fields using the Data<br />
Interpolating Variational Analysis (Diva)},<br />
journal = Ocean Modelling,<br />
year = {2012},<br />
volume = {52-53},<br />
pages = {90-101},<br />
doi = {10.1016/j.ocemod.2012.05.002},<br />
url = {http://www.sciencedirect.com/science/article/pii/S1463500312000790 }<br />
}<br />
<br />
* '''How to acknowledge?'''<br />
<br />
''The research leading to the last developments of \diva has received funding from the European Union Seventh Framework Programme (FP7/2007-2013) under grant agreement No. 283607, SeaDataNet 2, and from project EMODNET (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries.''<br />
<br />
</div><div style="float: left; text-align:justify;width: 45%"><br />
[[File:Diva_publi.png|frameless|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== Plotting tools ==<br />
<br />
=== Matlab ===<br />
<br />
* Some scripts in matlab for helping in the preparation of figures: [[Diva_matlab|Diva_matlab]]<br />
<br />
* For calculating within matlab, some basic interface is [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br style="clear: both" /><br />
<br />
[[File:Psal_00_12.png|frameless|200px]] [[File:Diva_oi_09_10030analysisDIVA_contour.png|frameless|250px]] [[File:BlackSeaOxyField2.png|frameless|250px]]<br />
<br />
=== Python ===<br />
<br />
[http://www.python.org/ Python] is a object-oriented, free to use, programming language. It is directly available through the package manager of recent Linux distributions.<br />
<br />
* Some scripts in python for helping in the preparation of figures: [[Diva_python|Diva_python]]<br />
<br />
== Products ==<br />
<br />
DIVA has been used to prepare several regional climatologies.<br />
<br />
The results can be found in [[Diva_products|Diva Products]]<br />
<br />
== Quality control of products == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
The issue of the quality of the products has been addressed by the EC. This page deals with the successive steps that have to be followed in order to ensure the quality of the products generated by the application of DIVA.<br />
<br />
[[Diva_QC|Quality control of products]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== Testing new versions == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Every time a significant modification is made to the source code, a set of tests have to be performed to insure that no error was introduced. <br />
These tests will be described in the following page and only concern Diva developers or beta testers: [[Diva_testing|Testing new versions]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
<br />
<br />
[[Category : Diva]]<br />
<br />
== SVN commands for Diva == <br />
<br />
A list of commands used to manage the subversions of Diva, also only for developers or beta testers<br />
<br />
[[Diva_SVN|SVN commands for Diva]]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DIVA
DIVA
2014-02-15T15:54:54Z
<p>Jmb: /* How to get the code? */</p>
<hr />
<div><div style="float: left; text-align:justify;width: 55%"><br />
DIVA (Data-Interpolating Variational Analysis) allows the spatial interpolation of data (''analysis'') in an optimal way, comparable to optimal interpolation (OI). In comparison to OI it takes into account coastlines, sub-basins and advection. Calculations are highly optimized and rely on a finite element resolution. Tools to generate the finite element mesh are provided as well as tools to optimize the parameters of the analysis. Quality control of data can be performed and error fields can be calculated. Also detrending of data is possible. Finally 3D and 4D extensions are included with emphasis on direct computations of climatologies from [http://odv.awi.de/ ODV] spreadsheet files.<br />
<br />
The DIVA development has received funding from the European Union Sixth Framework Programme (FP6/2002-2006) under grant agreement n° 026212, SeaDataNet, Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 283607, [http://www.seadatanet.org/ SeaDataNet SeaDataNet II], and project EMODNet (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries. <br />
<br />
</div><div style="float: right; width: 45%"><br />
[[File:Logo_diva_1500.png|frameless|center|400px]] <br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
<br />
== In a few words == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is a software developed for gridding in situ data. <br />
<br />
It uses a [http://en.wikipedia.org/wiki/Finite_element_method finite-element method] to solve a variational principle which takes into account<br />
# the distance between analysis and data (''observation constraint''),<br />
# the regularity of the analysis (''smoothness constraint''),<br />
# physical laws (''behaviour constraint'').<br />
<br />
The advantage of the method over classic interpolation methods is multiple:<br />
* the coastline are taken into account during the analysis, since the variational principle is solved only in the region covered by the sea. This prevents the information from traveling across boundaries (''e.g.'', peninsula, islands, ''etc'') and then produce artificial mixing between water masses.<br />
* the numerical cost is not dependent on the number of data, but on the number of degrees of freedom, itself related to the size of the finite-element mesh.<br />
<br />
</div><div style="float: right; width: 40%"><br />
[[Image:diva_gridding_canary.png|thumb|center|400px||In situ measurement and gridded field obtained using September temperature at 50 m in the Canary Island area.]]<br />
<br/><br />
<br />
<br />
</div><br />
<br style="clear: both" /><br />
<br />
== How to get the code? == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is copyright © 2006-2013 by the GHER group and is distributed under the terms of the<br />
GNU General Public License (GPLv3 or later) http://www.gnu.org/copyleft/gpl.html or EUPL1.1 (or later) https://joinup.ec.europa.eu/software/page/eupl left as a choice to the user.<br />
<br />
* Patch for content of 4D netCDF files [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/patchpatch-4-6-4.tar.gz patchdiva-4.6.3.tar.gz] (Look at README.txt file for instructions) <br />
<br />
* Latest version (December 2013): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.6.3.tar.gz diva-4.6.3.tar.gz] <br />
The binaries for various O.S. are also provided:<br><br />
'''Mac O.S.:''' [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_macOS_4.6.2.zip binaries_macOS_4.6.2.zip]<br> <br />
(thanks to F. Laenen, Observatoire de la Côte d'Azur, France)<br><br />
'''Linux''' Mint 14 Nadia (Debian, x86_64): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_Linux64_4.6.2.zip binaries_Linux64_4.6.2.zip]<br />
<br />
* [[New_Diva_Features|New features]] in the latest version<br />
* Previous releases: [[Diva_old_versions|here]]<br />
<br />
The code runs preferentially with Linux operating systems, but can also be used under Windows, provided a unix-like environment is installed ([http://www.cygwin.com/ Cygwin], [http://www.mingw.org/wiki/MSYS Msys], ...)<br />
<br />
The binary sources can be provided for several platforms, but if the code has to be re-compiled, then a Fortran compiler ([http://gcc.gnu.org/wiki/GFortran gfortran], [http://software.intel.com/en-us/articles/intel-compilers/ ifort], [http://www.pgroup.com/ pgi]) is needed, along with the [http://www.unidata.ucar.edu/software/netcdf/ NetCDF] library if this format is to be used for the outputs.<br />
<br />
We also recommend you to register on the [http://groups.google.com/group/diva_users Diva Users Group]<br />
<br />
[[Diva_installation|Diva_installation]]: for more details about the installation.<br />
<br />
The manual and documentation are available [http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_documents here].<br />
<br />
<br />
A simple matlab interface for basic operations is available [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
</div><div style="float: left; width: 45%"><br />
[[File:diva46.png|frameless|super|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== How to try DIVA without installing ? ==<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
If you are familiar with Ocean Data View ([http://odv.awi.de ODV]) you can access DIVA gridding when plotting vertical or horizontal sections as the other 25000 scientists using ODV.<br />
<br />
You can also use basic DIVA features in a web application [http://gher-diva.phys.ulg.ac.be/web-vis/diva.html Diva on Web] if you have your data ready in a simple three-column ascii file or ODV ascii spreadsheet format.<br />
<br />
If you are familiar with Matlab, some basic interface is provided here: [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:Divaonweb.png|frameless|super|right|350px]]<br />
<br />
</div><br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== User workshops ==<br />
<br />
<div style="float: left; width: 55%"><br />
Since 2006, we organize a workshop for the users, principally members of the region groups responsible for the climatology production in [http://www.seadatanet.org/ SeaDataNet]. During these workshop, several experts are present to help newcomers, but also latest developments are presented for advanced users. Generally a wish-list from users is established at the end of the workshop. Please contact us if you are interested in attending.<br />
<br />
*'''Next workshop:''' tentative dates: 3-7 November 2014: [[Diva_workshop_2014_Stareso]]<br />
<br />
*'''Last workshop:''' 4-8 November 2013: [[Diva_workshop_2013_Stareso]]<br />
<br />
*[[Previous_workshops|Previous_workshops]]: information about the previous workshops.<br />
<!--[[Diva_workshop_2012|Diva_workshop_2012]]--><br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:cartelDIVA.jpg|frameless|super|right|250px]]<br />
<br />
</div><br />
<br />
== The method == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
In oceanography, a typical concern consists in determining a field on a regular grid of positions '''r''' knowing N;<sub>d</sub> data in locations '''r<sub>j</sub>''', j=1,..., N<sub>d</sub>. This is called the ''gridding problem'' and is useful for many applications such as data analysis, graphical display, forcing or initialization of a model.<br />
<br />
It is designed to solve 2-D differential or variational problems of elliptic type with a finite element method. Its end is to obtain a gridded field from the knowledge of sparse data points.<br />
<br />
You can discover more details about the method here: [[DIVA_method|DIVA_method]]<br />
</div><div style="float: left; width: 45%"><br />
[[File:Gridding2.png|frameless|super|right|250px]]<br />
</div><br />
<br />
== Publications & documents == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
* [[Diva_publications|Related publications]]: a list of publications where Diva is described or employed to generate gridded fields.<br />
<br />
* [[Diva_documents|Documents]]: user manuals, presentations and posters.<br />
<br />
* [[Diva_applications|Applications]]: examples of climatologies from region groups of [http://www.seadatanet.org/ SeaDataNet]. <br />
<br />
* [[Diva_FAQ|FAQ]]<br />
<br />
* [[Diva_Problems_and_solutions|Problems and solutions]]<br />
<br />
* '''How to cite?''' <br />
<br />
<html><br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28title%3AGeneration+title%3Aof+title%3Aanalysis+title%3Aand+title%3Aconsistent+title%3Aerror+title%3A%EF%AC%81elds+title%3Ausing+title%3Athe+title%3AData+title%3AInterpolating+title%3AVariational+title%3AAnalysis+title%3A%28Diva%29%29%29+AND+%28%28type%3A%23A01%29%29&amp;chars=0&amp;list=1&amp;language=en&amp;data=&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" scrolling="no" width="450" frameborder="0" height="150"></iframe><br />
</html><br />
<br />
BibTeX entry:<br />
<br />
@ARTICLE{TROUPIN2012OM,<br />
author = {Troupin, C. and Barth, A. and Sirjacobs, D. and Ouberdous, M. and <br />
Brankart, J.-M. and Brasseur, P. and Rixen, M. and Alvera-Azc\'{a}rate, A. and <br />
Belounis, M. and Capet, A. and Lenartz, F. and Toussaint, M.-E. and Beckers, J.-M.},<br />
title = {Generation of analysis and consistent error fields using the Data<br />
Interpolating Variational Analysis (Diva)},<br />
journal = Ocean Modelling,<br />
year = {2012},<br />
volume = {52-53},<br />
pages = {90-101},<br />
doi = {10.1016/j.ocemod.2012.05.002},<br />
url = {http://www.sciencedirect.com/science/article/pii/S1463500312000790 }<br />
}<br />
<br />
* '''How to acknowledge?'''<br />
<br />
''The research leading to the last developments of \diva has received funding from the European Union Seventh Framework Programme (FP7/2007-2013) under grant agreement No. 283607, SeaDataNet 2, and from project EMODNET (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries.''<br />
<br />
</div><div style="float: left; text-align:justify;width: 45%"><br />
[[File:Diva_publi.png|frameless|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== Plotting tools ==<br />
<br />
=== Matlab ===<br />
<br />
* Some scripts in matlab for helping in the preparation of figures: [[Diva_matlab|Diva_matlab]]<br />
<br />
* For calculating within matlab, some basic interface is [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br style="clear: both" /><br />
<br />
[[File:Psal_00_12.png|frameless|200px]] [[File:Diva_oi_09_10030analysisDIVA_contour.png|frameless|250px]] [[File:BlackSeaOxyField2.png|frameless|250px]]<br />
<br />
=== Python ===<br />
<br />
[http://www.python.org/ Python] is a object-oriented, free to use, programming language. It is directly available through the package manager of recent Linux distributions.<br />
<br />
* Some scripts in python for helping in the preparation of figures: [[Diva_python|Diva_python]]<br />
<br />
== Products ==<br />
<br />
DIVA has been used to prepare several regional climatologies.<br />
<br />
The results can be found in [[Diva_products|Diva Products]]<br />
<br />
== Quality control of products == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
The issue of the quality of the products has been addressed by the EC. This page deals with the successive steps that have to be followed in order to ensure the quality of the products generated by the application of DIVA.<br />
<br />
[[Diva_QC|Quality control of products]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== Testing new versions == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Every time a significant modification is made to the source code, a set of tests have to be performed to insure that no error was introduced. <br />
These tests will be described in the following page and only concern Diva developers or beta testers: [[Diva_testing|Testing new versions]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
<br />
<br />
[[Category : Diva]]<br />
<br />
== SVN commands for Diva == <br />
<br />
A list of commands used to manage the subversions of Diva, also only for developers or beta testers<br />
<br />
[[Diva_SVN|SVN commands for Diva]]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/DIVA
DIVA
2014-02-15T15:53:47Z
<p>Jmb: /* How to get the code? */</p>
<hr />
<div><div style="float: left; text-align:justify;width: 55%"><br />
DIVA (Data-Interpolating Variational Analysis) allows the spatial interpolation of data (''analysis'') in an optimal way, comparable to optimal interpolation (OI). In comparison to OI it takes into account coastlines, sub-basins and advection. Calculations are highly optimized and rely on a finite element resolution. Tools to generate the finite element mesh are provided as well as tools to optimize the parameters of the analysis. Quality control of data can be performed and error fields can be calculated. Also detrending of data is possible. Finally 3D and 4D extensions are included with emphasis on direct computations of climatologies from [http://odv.awi.de/ ODV] spreadsheet files.<br />
<br />
The DIVA development has received funding from the European Union Sixth Framework Programme (FP6/2002-2006) under grant agreement n° 026212, SeaDataNet, Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 283607, [http://www.seadatanet.org/ SeaDataNet SeaDataNet II], and project EMODNet (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries. <br />
<br />
</div><div style="float: right; width: 45%"><br />
[[File:Logo_diva_1500.png|frameless|center|400px]] <br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
<br />
== In a few words == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is a software developed for gridding in situ data. <br />
<br />
It uses a [http://en.wikipedia.org/wiki/Finite_element_method finite-element method] to solve a variational principle which takes into account<br />
# the distance between analysis and data (''observation constraint''),<br />
# the regularity of the analysis (''smoothness constraint''),<br />
# physical laws (''behaviour constraint'').<br />
<br />
The advantage of the method over classic interpolation methods is multiple:<br />
* the coastline are taken into account during the analysis, since the variational principle is solved only in the region covered by the sea. This prevents the information from traveling across boundaries (''e.g.'', peninsula, islands, ''etc'') and then produce artificial mixing between water masses.<br />
* the numerical cost is not dependent on the number of data, but on the number of degrees of freedom, itself related to the size of the finite-element mesh.<br />
<br />
</div><div style="float: right; width: 40%"><br />
[[Image:diva_gridding_canary.png|thumb|center|400px||In situ measurement and gridded field obtained using September temperature at 50 m in the Canary Island area.]]<br />
<br/><br />
<br />
<br />
</div><br />
<br style="clear: both" /><br />
<br />
== How to get the code? == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Diva is copyright © 2006-2013 by the GHER group and is distributed under the terms of the<br />
GNU General Public License (GPLv3 or later) http://www.gnu.org/copyleft/gpl.html or EUPL1.1 (or later) https://joinup.ec.europa.eu/software/page/eupl left as a choice to the user.<br />
<br />
* Patch for content of 4D netCDF files [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/patchpatch-4-6-4.tar.gz diva-4.6.3.tar.gz] <br />
<br />
* Latest version (December 2013): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.6.3.tar.gz diva-4.6.3.tar.gz] <br />
The binaries for various O.S. are also provided:<br><br />
'''Mac O.S.:''' [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_macOS_4.6.2.zip binaries_macOS_4.6.2.zip]<br> <br />
(thanks to F. Laenen, Observatoire de la Côte d'Azur, France)<br><br />
'''Linux''' Mint 14 Nadia (Debian, x86_64): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/binaries_Linux64_4.6.2.zip binaries_Linux64_4.6.2.zip]<br />
<br />
* [[New_Diva_Features|New features]] in the latest version<br />
* Previous releases: [[Diva_old_versions|here]]<br />
<br />
The code runs preferentially with Linux operating systems, but can also be used under Windows, provided a unix-like environment is installed ([http://www.cygwin.com/ Cygwin], [http://www.mingw.org/wiki/MSYS Msys], ...)<br />
<br />
The binary sources can be provided for several platforms, but if the code has to be re-compiled, then a Fortran compiler ([http://gcc.gnu.org/wiki/GFortran gfortran], [http://software.intel.com/en-us/articles/intel-compilers/ ifort], [http://www.pgroup.com/ pgi]) is needed, along with the [http://www.unidata.ucar.edu/software/netcdf/ NetCDF] library if this format is to be used for the outputs.<br />
<br />
We also recommend you to register on the [http://groups.google.com/group/diva_users Diva Users Group]<br />
<br />
[[Diva_installation|Diva_installation]]: for more details about the installation.<br />
<br />
The manual and documentation are available [http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_documents here].<br />
<br />
<br />
A simple matlab interface for basic operations is available [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
</div><div style="float: left; width: 45%"><br />
[[File:diva46.png|frameless|super|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== How to try DIVA without installing ? ==<br />
<div style="float: left;text-align:justify; width: 55%"><br />
<br />
If you are familiar with Ocean Data View ([http://odv.awi.de ODV]) you can access DIVA gridding when plotting vertical or horizontal sections as the other 25000 scientists using ODV.<br />
<br />
You can also use basic DIVA features in a web application [http://gher-diva.phys.ulg.ac.be/web-vis/diva.html Diva on Web] if you have your data ready in a simple three-column ascii file or ODV ascii spreadsheet format.<br />
<br />
If you are familiar with Matlab, some basic interface is provided here: [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:Divaonweb.png|frameless|super|right|350px]]<br />
<br />
</div><br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== User workshops ==<br />
<br />
<div style="float: left; width: 55%"><br />
Since 2006, we organize a workshop for the users, principally members of the region groups responsible for the climatology production in [http://www.seadatanet.org/ SeaDataNet]. During these workshop, several experts are present to help newcomers, but also latest developments are presented for advanced users. Generally a wish-list from users is established at the end of the workshop. Please contact us if you are interested in attending.<br />
<br />
*'''Next workshop:''' tentative dates: 3-7 November 2014: [[Diva_workshop_2014_Stareso]]<br />
<br />
*'''Last workshop:''' 4-8 November 2013: [[Diva_workshop_2013_Stareso]]<br />
<br />
*[[Previous_workshops|Previous_workshops]]: information about the previous workshops.<br />
<!--[[Diva_workshop_2012|Diva_workshop_2012]]--><br />
<br />
<br />
</div><div style="float: left; width: 45%"><br />
<br />
[[File:cartelDIVA.jpg|frameless|super|right|250px]]<br />
<br />
</div><br />
<br />
== The method == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
In oceanography, a typical concern consists in determining a field on a regular grid of positions '''r''' knowing N;<sub>d</sub> data in locations '''r<sub>j</sub>''', j=1,..., N<sub>d</sub>. This is called the ''gridding problem'' and is useful for many applications such as data analysis, graphical display, forcing or initialization of a model.<br />
<br />
It is designed to solve 2-D differential or variational problems of elliptic type with a finite element method. Its end is to obtain a gridded field from the knowledge of sparse data points.<br />
<br />
You can discover more details about the method here: [[DIVA_method|DIVA_method]]<br />
</div><div style="float: left; width: 45%"><br />
[[File:Gridding2.png|frameless|super|right|250px]]<br />
</div><br />
<br />
== Publications & documents == <br />
<br />
<div style="float: left; text-align:justify;width: 55%"><br />
* [[Diva_publications|Related publications]]: a list of publications where Diva is described or employed to generate gridded fields.<br />
<br />
* [[Diva_documents|Documents]]: user manuals, presentations and posters.<br />
<br />
* [[Diva_applications|Applications]]: examples of climatologies from region groups of [http://www.seadatanet.org/ SeaDataNet]. <br />
<br />
* [[Diva_FAQ|FAQ]]<br />
<br />
* [[Diva_Problems_and_solutions|Problems and solutions]]<br />
<br />
* '''How to cite?''' <br />
<br />
<html><br />
<iframe src="http://orbi.ulg.ac.be/widget?query=%28%28title%3AGeneration+title%3Aof+title%3Aanalysis+title%3Aand+title%3Aconsistent+title%3Aerror+title%3A%EF%AC%81elds+title%3Ausing+title%3Athe+title%3AData+title%3AInterpolating+title%3AVariational+title%3AAnalysis+title%3A%28Diva%29%29%29+AND+%28%28type%3A%23A01%29%29&amp;chars=0&amp;list=1&amp;language=en&amp;data=&amp;format=apa&amp;css=%2Ffiles%2Fcss%2Fwl.css&amp;sort_by0=1&amp;order0=DESC&amp;sort_by1=3&amp;order1=ASC&amp;sort_by2=2&amp;order2=ASC" marginwidth="0" marginheight="0" scrolling="no" width="450" frameborder="0" height="150"></iframe><br />
</html><br />
<br />
BibTeX entry:<br />
<br />
@ARTICLE{TROUPIN2012OM,<br />
author = {Troupin, C. and Barth, A. and Sirjacobs, D. and Ouberdous, M. and <br />
Brankart, J.-M. and Brasseur, P. and Rixen, M. and Alvera-Azc\'{a}rate, A. and <br />
Belounis, M. and Capet, A. and Lenartz, F. and Toussaint, M.-E. and Beckers, J.-M.},<br />
title = {Generation of analysis and consistent error fields using the Data<br />
Interpolating Variational Analysis (Diva)},<br />
journal = Ocean Modelling,<br />
year = {2012},<br />
volume = {52-53},<br />
pages = {90-101},<br />
doi = {10.1016/j.ocemod.2012.05.002},<br />
url = {http://www.sciencedirect.com/science/article/pii/S1463500312000790 }<br />
}<br />
<br />
* '''How to acknowledge?'''<br />
<br />
''The research leading to the last developments of \diva has received funding from the European Union Seventh Framework Programme (FP7/2007-2013) under grant agreement No. 283607, SeaDataNet 2, and from project EMODNET (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries.''<br />
<br />
</div><div style="float: left; text-align:justify;width: 45%"><br />
[[File:Diva_publi.png|frameless|right|350px]]<br />
</div><br />
<br />
<br style="clear: both" /><br />
<br />
== Plotting tools ==<br />
<br />
=== Matlab ===<br />
<br />
* Some scripts in matlab for helping in the preparation of figures: [[Diva_matlab|Diva_matlab]]<br />
<br />
* For calculating within matlab, some basic interface is [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]<br />
<br />
<br style="clear: both" /><br />
<br />
[[File:Psal_00_12.png|frameless|200px]] [[File:Diva_oi_09_10030analysisDIVA_contour.png|frameless|250px]] [[File:BlackSeaOxyField2.png|frameless|250px]]<br />
<br />
=== Python ===<br />
<br />
[http://www.python.org/ Python] is a object-oriented, free to use, programming language. It is directly available through the package manager of recent Linux distributions.<br />
<br />
* Some scripts in python for helping in the preparation of figures: [[Diva_python|Diva_python]]<br />
<br />
== Products ==<br />
<br />
DIVA has been used to prepare several regional climatologies.<br />
<br />
The results can be found in [[Diva_products|Diva Products]]<br />
<br />
== Quality control of products == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
The issue of the quality of the products has been addressed by the EC. This page deals with the successive steps that have to be followed in order to ensure the quality of the products generated by the application of DIVA.<br />
<br />
[[Diva_QC|Quality control of products]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
== Testing new versions == <br />
<br />
<div style="float: left;text-align:justify; width: 55%"><br />
Every time a significant modification is made to the source code, a set of tests have to be performed to insure that no error was introduced. <br />
These tests will be described in the following page and only concern Diva developers or beta testers: [[Diva_testing|Testing new versions]]<br />
</div><br />
<br />
<br />
<br />
<br style="clear: both" /><br />
<br />
<br />
<br />
[[Category : Diva]]<br />
<br />
== SVN commands for Diva == <br />
<br />
A list of commands used to manage the subversions of Diva, also only for developers or beta testers<br />
<br />
[[Diva_SVN|SVN commands for Diva]]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_installation
Diva installation
2014-02-08T15:57:42Z
<p>Jmb: /* Edit configuration file for compilation */</p>
<hr />
<div><div style="float: left;text-align:justify; width: 75%"><br />
<br />
== How to install? ==<br />
<br />
Chose a place where you want to work with the new version (if you already have a running installation, it is advised to install the new version at another location and replace the old one only when everything has been set up correctly with the new version).<br />
<br />
* Download the archive, here as an example for version 4.6.2:<br />
wget http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.6.2.tar.gz<br />
<br />
* Extract the files from the archive:<br />
tar -xvf diva-4.6.2.tar.gz<br />
<br />
== Compilation == <br />
<br />
Diva can be compiled with different operating systems. The preferred one is Linux, as installing on windows is more tedious. The procedures are detailed below. If you already have a running Diva installation, install the new version at a new place and look at the compiler options you have used in the past in the corresponing '''divacompile_options'''<br />
<br />
=== Linux ===<br />
<br />
The minimal requirements are:<br />
* A Fortran 90 compiler with -cpp possibilities (easily installed through a package manager)<br />
* The NetCDF library (instructions for installation [http://modb.oce.ulg.ac.be/mediawiki/index.php/NetCDF_format here])<br />
<br />
==== Edit configuration file for compilation ====<br />
<br />
* Go in the source directory<br />
cd diva-4.6.2/DIVA3D/src/Fortran/<br />
* Edit the file '''divacompile_options''' according to your installation.<br />
For versions < 4.6.0: compiler name and flags as well as NetCDF library location have to be indicated<br />
'''Example:'''<br />
# Name of the fortran compiler (ex: ifort,gfortran,pgi,...)<br />
compiler=ifort<br />
# Compilation flags<br />
flags='-O3'<br />
# Netcdf library<br />
nclib=/usr/local/lib/netcdf3ifort/libnetcdf.a<br />
If your installation knows the [http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/nc_002dconfig.html nc-config] or '''nf-config''' command, you can use<br />
nclib=`nc-config --flibs`<br />
<br />
If you have run-time problems with netcdf libraries, you can also try<br />
<br />
compiler=`nc-config --fc`<br />
<br />
to make sure you use the same compiler as the one used to compile the netcdf libraries.<br />
<br />
For versions >= 4.6.0: the compilations script automatically detects the compiler, flags and NetCDF library using [http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/nc_002dconfig.html nc-config] or '''nf-config''' tools.<br />
This possibility is normally detected automatically but if there are problems with the Netcdf library you might look into these definitions. If your compilation fails and complains about not finding netcdf.mod you can add '''-I/<pathtomissingmodfile>''' into the compilation options if you know where the netcdf.mod can be found.<br />
<br />
==== Run the compilation script ==== <br />
./divacompileall<br />
<br />
<br />
==== Check configuration log ====<br />
<br />
Information related to the compilation is contained in file '''compilation.log'''.<br><br />
Check that all the programs were compiled.<br />
<br />
Compilation time: jue ago 8 15:04:46 CEST 2013<br />
compiler: gfortran<br />
compilation flags: -O3 -cpp -DDIVAITERATIVE<br />
Calc directory: 1/1 program compiled<br />
Extensions directory: 13/13 programs compiled<br />
Mesh directory: 9/9 programs compiled<br />
NC directory: 3/3 programs compiled<br />
PlPlot directory: 1/1 programs compiled<br />
Util directory: 41/41 programs compiled<br />
Pipetest directory: 1/1 program compiled<br />
Stabil directory: 28/28 programs compiled<br />
----------------------------------------------------------<br />
TOTAL: 97/97 programs compiled<br />
----------------------------------------------------------<br />
Binaries are located in directory:<br />
~/diva-4.6.2/DIVA3D/bin<br />
<br />
=== Windows ===<br />
<br />
To compile the code under windows, you need to install [http://cygwin.com/install.html cygwin], a Linux-like environment for Windows.<br />
<br />
The installation or update of cygwin is done by running the '''setup.exe''' executable. It is recommended to install:<br />
<br />
* g77, a Fortran 77 compiler <br />
* [http://gcc.gnu.org/wiki/GFortran/ gfortran], a Fortran 95 compiler . You may have to install it from http://gfortran.com/download/cygwin/, since it is not available through the cygwin installer.<br />
* Xterm, the X11 terminal emulator.<br />
* gmp, mpfr, and mpc libraries<br />
* The [http://www.unidata.ucar.edu/downloads/netcdf/index.jsp NetCDF] library. The library is available in the cygwin installer, but does not properly work in all cases (and you must add the library '''nclib=/usr/lib/libnetcdff.dll.a''' into the compiling options). When trying to make the cygwin netcdt library to work, you might need to use '''cygcheck netcdfoutput.a''' to see which libraries are still missing (in our case sasl) and therefore to install with the cygwin installer. <br />
<br />
If you need to install nectCDF from source, proceed as follows. We used version 3.6.3, which does not require hdf5 library. The installation was performed with commands:<br />
cd directory_containing_netcdf3.6.3<br />
./configure --disable-cc<br />
make<br />
make install<br />
<br />
The second line means that the library will not be build for c++ (not necessary in the case of Diva).<br />
<br />
[[File:InstallCygwin1.png|500px|left]]<br />
<br />
[[File:InstallCygwin2.png|500px|left]]<br />
<br />
<br style="clear: both" /><br />
<br />
== Run a test case ==<br />
<br />
* Go into ''divastripped'' directory:<br />
cd path_to_divastripped<br />
* Execute the script divatest:<br />
divatest<br />
* Check you results: they should look like this (here viewed with ncview): <br />
<br />
[[Image:Diva test results.png|550px|center]]<br />
<br />
<br />
Further tests provided are <br />
divatest0 <br />
and <br />
divabigtest <br />
for testing finer meshes. Finally <br />
divatesterror <br />
is provided for checking all error calculation possibilities.<br />
<br />
== Possible issues ==<br />
<br />
=== Command not found ===<br />
<br />
In case of ''command not found'' message, you may have to type<br />
export PATH=$PATH:.<br />
<br />
So if you need to type ./divacalc or similar things in a directory where divacalc is present, make sure to expand your path as shown above to be able use local scripts and programs<br />
<br />
=== Problem with awk ===<br />
<br />
By default Ubuntu comes with [http://invisible-island.net/mawk/ mawk], which has a different behavior when interpreting [http://www.gnu.org/software/gawk/manual/gawk.html awk]. In that case, the test will fail, and you will get an error like<br />
error message<br />
<br />
To solve this problem, it is only necessary to install [http://www.gnu.org/software/gawk/ gawk]. The problem was previously reported for other programs, ''e.g.'', http://lists.netisland.net/archives/plug/plug-2008-09/msg00071.html.<br />
<br />
Running <tt>divatest</tt> will try to test if you have the correct gawk version<br />
</div><br />
<br />
[[Category : compiling]]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_installation
Diva installation
2014-02-08T15:56:46Z
<p>Jmb: /* Edit configuration file for compilation */</p>
<hr />
<div><div style="float: left;text-align:justify; width: 75%"><br />
<br />
== How to install? ==<br />
<br />
Chose a place where you want to work with the new version (if you already have a running installation, it is advised to install the new version at another location and replace the old one only when everything has been set up correctly with the new version).<br />
<br />
* Download the archive, here as an example for version 4.6.2:<br />
wget http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.6.2.tar.gz<br />
<br />
* Extract the files from the archive:<br />
tar -xvf diva-4.6.2.tar.gz<br />
<br />
== Compilation == <br />
<br />
Diva can be compiled with different operating systems. The preferred one is Linux, as installing on windows is more tedious. The procedures are detailed below. If you already have a running Diva installation, install the new version at a new place and look at the compiler options you have used in the past in the corresponing '''divacompile_options'''<br />
<br />
=== Linux ===<br />
<br />
The minimal requirements are:<br />
* A Fortran 90 compiler with -cpp possibilities (easily installed through a package manager)<br />
* The NetCDF library (instructions for installation [http://modb.oce.ulg.ac.be/mediawiki/index.php/NetCDF_format here])<br />
<br />
==== Edit configuration file for compilation ====<br />
<br />
* Go in the source directory<br />
cd diva-4.6.2/DIVA3D/src/Fortran/<br />
* Edit the file '''divacompile_options''' according to your installation.<br />
For versions < 4.6.0: compiler name and flags as well as NetCDF library location have to be indicated<br />
'''Example:'''<br />
# Name of the fortran compiler (ex: ifort,gfortran,pgi,...)<br />
compiler=ifort<br />
# Compilation flags<br />
flags='-O3'<br />
# Netcdf library<br />
nclib=/usr/local/lib/netcdf3ifort/libnetcdf.a<br />
If your installation knows the [http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/nc_002dconfig.html nc-config] or '''nf-config''' command, you can use<br />
nclib=`nc-config --flibs`<br />
<br />
If you have run-time problems with netcdf libraries, you can also try<br />
<br />
compiler=`nc-config --fc`<br />
<br />
<br />
For versions >= 4.6.0: the compilations script automatically detects the compiler, flags and NetCDF library using [http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/nc_002dconfig.html nc-config] or '''nf-config''' tools.<br />
This possibility is normally detected automatically but if there are problems with the Netcdf library you might look into these definitions. If your compilation fails and complains about not finding netcdf.mod you can add '''-I/<pathtomissingmodfile>''' into the compilation options if you know where the netcdf.mod can be found.<br />
<br />
==== Run the compilation script ==== <br />
./divacompileall<br />
<br />
<br />
==== Check configuration log ====<br />
<br />
Information related to the compilation is contained in file '''compilation.log'''.<br><br />
Check that all the programs were compiled.<br />
<br />
Compilation time: jue ago 8 15:04:46 CEST 2013<br />
compiler: gfortran<br />
compilation flags: -O3 -cpp -DDIVAITERATIVE<br />
Calc directory: 1/1 program compiled<br />
Extensions directory: 13/13 programs compiled<br />
Mesh directory: 9/9 programs compiled<br />
NC directory: 3/3 programs compiled<br />
PlPlot directory: 1/1 programs compiled<br />
Util directory: 41/41 programs compiled<br />
Pipetest directory: 1/1 program compiled<br />
Stabil directory: 28/28 programs compiled<br />
----------------------------------------------------------<br />
TOTAL: 97/97 programs compiled<br />
----------------------------------------------------------<br />
Binaries are located in directory:<br />
~/diva-4.6.2/DIVA3D/bin<br />
<br />
=== Windows ===<br />
<br />
To compile the code under windows, you need to install [http://cygwin.com/install.html cygwin], a Linux-like environment for Windows.<br />
<br />
The installation or update of cygwin is done by running the '''setup.exe''' executable. It is recommended to install:<br />
<br />
* g77, a Fortran 77 compiler <br />
* [http://gcc.gnu.org/wiki/GFortran/ gfortran], a Fortran 95 compiler . You may have to install it from http://gfortran.com/download/cygwin/, since it is not available through the cygwin installer.<br />
* Xterm, the X11 terminal emulator.<br />
* gmp, mpfr, and mpc libraries<br />
* The [http://www.unidata.ucar.edu/downloads/netcdf/index.jsp NetCDF] library. The library is available in the cygwin installer, but does not properly work in all cases (and you must add the library '''nclib=/usr/lib/libnetcdff.dll.a''' into the compiling options). When trying to make the cygwin netcdt library to work, you might need to use '''cygcheck netcdfoutput.a''' to see which libraries are still missing (in our case sasl) and therefore to install with the cygwin installer. <br />
<br />
If you need to install nectCDF from source, proceed as follows. We used version 3.6.3, which does not require hdf5 library. The installation was performed with commands:<br />
cd directory_containing_netcdf3.6.3<br />
./configure --disable-cc<br />
make<br />
make install<br />
<br />
The second line means that the library will not be build for c++ (not necessary in the case of Diva).<br />
<br />
[[File:InstallCygwin1.png|500px|left]]<br />
<br />
[[File:InstallCygwin2.png|500px|left]]<br />
<br />
<br style="clear: both" /><br />
<br />
== Run a test case ==<br />
<br />
* Go into ''divastripped'' directory:<br />
cd path_to_divastripped<br />
* Execute the script divatest:<br />
divatest<br />
* Check you results: they should look like this (here viewed with ncview): <br />
<br />
[[Image:Diva test results.png|550px|center]]<br />
<br />
<br />
Further tests provided are <br />
divatest0 <br />
and <br />
divabigtest <br />
for testing finer meshes. Finally <br />
divatesterror <br />
is provided for checking all error calculation possibilities.<br />
<br />
== Possible issues ==<br />
<br />
=== Command not found ===<br />
<br />
In case of ''command not found'' message, you may have to type<br />
export PATH=$PATH:.<br />
<br />
So if you need to type ./divacalc or similar things in a directory where divacalc is present, make sure to expand your path as shown above to be able use local scripts and programs<br />
<br />
=== Problem with awk ===<br />
<br />
By default Ubuntu comes with [http://invisible-island.net/mawk/ mawk], which has a different behavior when interpreting [http://www.gnu.org/software/gawk/manual/gawk.html awk]. In that case, the test will fail, and you will get an error like<br />
error message<br />
<br />
To solve this problem, it is only necessary to install [http://www.gnu.org/software/gawk/ gawk]. The problem was previously reported for other programs, ''e.g.'', http://lists.netisland.net/archives/plug/plug-2008-09/msg00071.html.<br />
<br />
Running <tt>divatest</tt> will try to test if you have the correct gawk version<br />
</div><br />
<br />
[[Category : compiling]]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/People
People
2014-01-16T16:42:40Z
<p>Jmb: /* Personal web pages */</p>
<hr />
<div><div style="float: left;text-align:justify; width: 35%"><br />
<br />
[http://www.ago.ulg.ac.be/Cnt/lstel_f.php?qUnt=GHER Complete list of GHER members] in the AGO web page.<br />
<br />
== Personal web pages ==<br />
<br />
* [[User:Aida|Aida Alvera Azcárate]]<br />
* [[User:Alex|Alexander Barth]]<br />
* [[User:JMB|Jean-Marie Beckers]]<br />
* [[User:Arthur|Arthur Capet]]<br />
* [[User:Martin|Martin Canter]]<br />
* [[User:Salim|Salim Djenidi]]<br />
* [[User:Ngu|Thi Hong Ngu Huynh]]<br />
* [[User:Stephane|Stephane Lesoinne]]<br />
* [[User:Mohamed|Mohamed Ouberdous]]<br />
* [[User:Igor|Igor Tomazic]]<br />
* [[User:swat|Sylvain Watelet]]<br />
* [[User:Yajing|Yajing Yan]]<br />
<br />
== [[Past members]] ==<br />
<br />
Regular work with:<br />
<br />
* Luc Vandenbulcke, currently working at [http://www.ciimar.up.pt CIIMAR]/Portugal and [http://www.seamod.ro seamod.ro]<br />
* Fabian Lenartz, now working at [http://www.issep.be ISSEP]<br />
* Michel Rixen, now at [http://www.wcrp-climate.org/JPS.shtml WMO-WRCP]<br />
* [[User:Charles|Charles Troupin]], now at [http://www.imedea.uib.es/ IMEDEA]<br />
* Pierre Brasseur - now at [http://www-meom.hmg.inpg.fr MEOM]<br />
* Jean-Michel Brankart - now at [http://www-meom.hmg.inpg.fr MEOM]<br />
<br />
== [[Visitors]] ==<br />
<br />
* Ganix Esnaola (September 2013-April 2014)<br />
<br />
* Enrique Manuel Padilla de la Torre (June-September 2013)<br />
<br />
</div><div style="float: right;text-align:center; width: 65%"><br />
[[File:GHER_group.JPG|450px]]<br />
</div><br />
<br style="clear: both" /></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/People
People
2014-01-16T16:42:06Z
<p>Jmb: /* Personal web pages */</p>
<hr />
<div><div style="float: left;text-align:justify; width: 35%"><br />
<br />
[http://www.ago.ulg.ac.be/Cnt/lstel_f.php?qUnt=GHER Complete list of GHER members] in the AGO web page.<br />
<br />
== Personal web pages ==<br />
<br />
* [[User:Aida|Aida Alvera Azcárate]]<br />
* [[User:Alex|Alexander Barth]]<br />
* [[User:JMB|Jean-Marie Beckers]]<br />
* [[User:Arthur|Arthur Capet]]<br />
* [[User:Martin|Martin Canter]]<br />
* [[User:Salim|Salim Djenidi]]<br />
* [[User:Ngu|Thi Hong Ngu Huynh]]<br />
* [[User:Mohamed|Mohamed Ouberdous]]<br />
* [[User:Igor|Igor Tomazic]]<br />
* [[User:swat|Sylvain Watelet]]<br />
* [[User:Yajing|Yajing Yan]]<br />
* [[User:Stephane|Stephane Lesoinne]]<br />
<br />
== [[Past members]] ==<br />
<br />
Regular work with:<br />
<br />
* Luc Vandenbulcke, currently working at [http://www.ciimar.up.pt CIIMAR]/Portugal and [http://www.seamod.ro seamod.ro]<br />
* Fabian Lenartz, now working at [http://www.issep.be ISSEP]<br />
* Michel Rixen, now at [http://www.wcrp-climate.org/JPS.shtml WMO-WRCP]<br />
* [[User:Charles|Charles Troupin]], now at [http://www.imedea.uib.es/ IMEDEA]<br />
* Pierre Brasseur - now at [http://www-meom.hmg.inpg.fr MEOM]<br />
* Jean-Michel Brankart - now at [http://www-meom.hmg.inpg.fr MEOM]<br />
<br />
== [[Visitors]] ==<br />
<br />
* Ganix Esnaola (September 2013-April 2014)<br />
<br />
* Enrique Manuel Padilla de la Torre (June-September 2013)<br />
<br />
</div><div style="float: right;text-align:center; width: 65%"><br />
[[File:GHER_group.JPG|450px]]<br />
</div><br />
<br style="clear: both" /></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Divand
Divand
2014-01-16T16:38:10Z
<p>Jmb: </p>
<hr />
<div><html><br />
<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js?lang=matlab"></script><br />
<br />
<style><br />
.fun {<br />
color: black;<br />
}<br />
</style><br />
</html><br />
<br />
<tt>divand</tt> performs an n-dimensional variational analysis of arbitrarily located observations. Observation will be interpolated on a curvilinear grid in 2, 3 or more dimensions.<br />
<br />
Please cite this paper as follows if you use <tt>divand</tt> in a publication:<br />
<br />
Barth, A., Beckers, J.-M., Troupin, C., Alvera-Azcárate, A., and Vandenbulcke, L.: divand-1.0: n-dimensional variational data analysis for ocean observations, Geosci. Model Dev., 2013, in press. URL http://hdl.handle.net/2268/160913 <br />
<br />
The submitted manuscript is also available at Geoscientific Model Development 'Discussion', but please cite the final version (in Geoscientific Model Development) rather than the discussion paper.<br />
<br />
= Requirements =<br />
<br />
Your need [http://www.octave.org GNU Octave] (version 3.4 or later) or MATLAB to run <tt>divand</tt>.<br />
<br />
= Installing =<br />
<br />
# Download the source code from http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divand/divand-1.1.tar.gz.<br />
# Extract the package<br />
# In MATLAB add the directory divand-x.y to the search path. In octave add the command to your <tt>.octaverc</tt> file (for testing it is sufficient if you move your current working directory to the divand-x.y directory):<br />
<br />
addpath('/path/to/divand-x.y.');<br />
<br />
= Testing =<br />
<br />
A test script <tt>test_divand</tt> is included to verify the correct functioning of the toolbox.<br />
The script should be run in a Octave or MATLAB session. All tests should pass without warning or error.<br />
<br />
run test_interp_1d: (max difference=2.22045e-16) OK <br />
run test_interp_2d: (max difference=2.22045e-16) OK <br />
run test_interp_regular: (max difference=2.22045e-16) OK <br />
run test_sparse_diff: (max difference=0) OK <br />
run test_1dvar: OK <br />
run test_2dvar: (max difference=4.28659e-16) OK <br />
run test_2dvar_check: (max rms=2.39788e-16) OK <br />
run test_2dvar_adv: OK <br />
run test_2dvar_rellen: OK <br />
run test_2dvar_lenxy: OK <br />
run test_2dvar_check_correrr: (max rms=7.45461e-16) OK <br />
run test_2dvar_constrain: (max rms=9.41909e-10) OK <br />
run test_2dvar_cyclic: (max rms=2.71352e-14) OK <br />
run test_2dvar_eof_var: OK <br />
run test_2dvar_eof_check: OK <br />
run test_3dvar: (max difference=0.0182573) OK <br />
run test_3dvar_large_stacked: (max difference=2.40796e-15) OK <br />
run test_4dvar: (max difference=0.0111807) OK<br />
<br />
= Documentation =<br />
<br />
The main routine of this toolbox is called <tt>divand</tt> which performs an n-dimensional variational analysis of arbitrarily located observations. It can be called with a different number of input and output arguments:<br />
<br />
[fi,err,s] = divand(mask,pmn,xi,x,f,len,lambda,...); <br />
[fi,err] = divand(mask,pmn,xi,x,f,len,lambda,...); <br />
[fi,s] = divand(mask,pmn,xi,x,f,len,lambda,...); <br />
<br />
== Input arguments ==<br />
<br />
;mask: binary mask delimiting the domain. 1 is inside and 0 outside. This parameters has the same number of dimensions and grid points as the domain. For oceanographic application, this is the land-sea mask. <br />
;pmn: scale factor of the grid. pmn is a cell array with n arrays (each array has the same size as the mask). Every element represents the scale factor of the corresponding dimension. Its inverse is the local resolution of the grid in a particular dimension. <br />
;xi: cell array with n arrays (each array has the same size as the mask). Every element represents a coordinate of the final grid on which the observations are interpolated <br />
;x: cell array with n vectors (m-by-1 vector). Every vector represents a coordinate of the observations <br />
;f: vector with the value of the observations *minus* the background estimate (m-by-1 array). (see note) <br />
;len: correlation length (units must be consistent with scale factors)<br />
* if len is scalar, then the correlation length is the same in all directions and everywhere in the domain<br />
* if len is cell array of n scalars, then the correlation length can depend on the direction but for a given direction the correlation length is the same everywhere in the domain. The option is for example used when analysing 3D domain (longitude, latitude and depth) since the vertical scale is much smaller than the horizontal scale.<br />
* if len is cell array of n arrays (each array has the same size as the mask), then the correlation length can depend on the direction and on the location. The individual arrays should have the same size as the domain.<br />
<br />
;lambda: signal-to-noise ratio of observations (if lambda is a scalar). lambda is defined as the ratio of background error variance over the observation error variance. The larger this value is, the closer is the interpolated field <tt>fi</tt> to the observation.<br />
* If lambda is a scalar, then R = 1/lambda I, where R is the observation error covariance matrix (scaled by the background error variance),<br />
* If lambda is a vector, then R = diag(lambda)<br />
* If lambda is a matrix (or matrix-like object such CovarParam), then R = lambda<br />
<br />
== Optional input arguments ==<br />
<br />
Optional input arguments specified as pairs of keyword and values:<br />
;'velocity', vel: cell array with n arrays (each array has the same size as the mask) representing the velocity of advection constraint. The default is no advection constraint<br />
<br />
;'alpha': alpha is vector of coefficients multiplying various terms in the cost function.<br />
The first element multiplies the norm.<br />
The other i-th element of alpha multiplies the (i+1)-th derivative. <br />
Per default, the highest derivative is m = ceil(1+n/2) where n is the dimension of the problem. The values of alpha are per default the (m+1)th row of the Pascal triangle:<br />
<br />
m=0 1<br />
m=1 1 1<br />
m=1 1 2 1 (n=1,2)<br />
m=2 1 3 3 1 (n=3,4)<br />
...<br />
<br />
;'diagnostics': 0 or 1 turns diagnostic and debugging information on (1) or off (0, default). If on, they will be returned as the last output argument<br />
<br />
;'constraint': a structure with user specified constraint<br />
<br />
;'moddim': modulo for cyclic dimension (vector with n elements). Zero is used for non-cyclic dimensions. Halo points should not be included for cyclic dimensions. For example if the first dimension is cyclic, then the grid point corresponding to mask(1,j) should be between mask(end,1) (left neighbord) and mask(2,j) (right neighbord)<br />
<br />
;'fracdim': fractional indices (n-by-m array). If this array is specified, then x and xi are not used.<br />
<br />
Note: 'velocity' and 'constraint' may appear multiple times<br />
<br />
== Output ==<br />
;fi: the analysed field<br />
;err: error variance of the analysis field relative to the error variance of the background<br />
;s: structure with some diagnostics mainly for debugging purposes.<br />
<br />
<br />
=== Note ===<br />
<br />
If zero is not a valid first guess for your variable (as it is the case for e.g. ocean temperature), you have to subtract the first guess from the observations before calling divand and then add the first guess back in.<br />
<br />
<br />
== Advanced usage ==<br />
<br />
=== Additional constraint ===<br />
<br />
An arbitrary number of additional constraint can be included to the cost function which should have the following form:<br />
<br />
<br />
<math><br />
J_c(\vec x) = \sum_i \left(\mathbf C_i \vec x - \vec z_i \right)^T \mathbf Q_i^{-1} \left(\mathbf C_i \vec x - \vec z_i \right)<br />
</math><br />
<br />
For every constrain a structure with the following fields is passed to <tt>divand</tt>:<br />
<br />
;yo: the vector <math>\vec z_i</math><br />
;H: the matrix <math>\mathbf C_i</math><br />
;R: the matrix <math>\mathbf Q_i</math> (symmetric and positive defined)<br />
<br />
Internally the observations are also implemented as an additional constraint.<br />
<br />
== Example ==<br />
<br />
<br />
=== Simple analytical example ===<br />
<br />
see divand_simple_example.m<br />
<br />
<html><br />
<pre class="prettyprint lang-matlab"><br />
% A simple example of divand is 2 dimensions<br />
% with observations from an analytical function<br />
<br />
<br />
% observations<br />
x = rand(75,1);<br />
y = rand(75,1);<br />
f = sin(x*6) .* cos(y*6);<br />
<br />
% final grid<br />
[xi,yi] = ndgrid(linspace(0,1,30));<br />
<br />
% reference field<br />
fref = sin(xi*6) .* cos(yi*6);<br />
<br />
% all points are valid points<br />
mask = ones(size(xi));<br />
<br />
% this problem has a simple cartesian metric<br />
% pm is the inverse of the resolution along the 1st dimension<br />
% pn is the inverse of the resolution along the 2nd dimension<br />
<br />
pm = ones(size(xi)) / (xi(2,1)-xi(1,1));<br />
pn = ones(size(xi)) / (yi(1,2)-yi(1,1));<br />
<br />
% correlation length<br />
len = 0.1;<br />
<br />
% signal-to-noise ratio<br />
lambda = 20;<br />
<br />
% fi is the interpolated field<br />
fi = divand(mask,{pm,pn},{xi,yi},{x,y},f,len,lambda);<br />
<br />
% plotting of results<br />
subplot(1,2,1); <br />
pcolor(xi,yi,fref);<br />
shading flat,colorbar<br />
ca = caxis;<br />
set(findobj(gcf,'FontSize',10),'FontSize',16)<br />
title('Reference field and observation loc.');<br />
hold on<br />
plot(x,y,'k.');<br />
<br />
subplot(1,2,2); <br />
hold on<br />
pcolor(xi,yi,fi);<br />
shading flat,colorbar<br />
caxis(ca);<br />
set(findobj(gcf,'FontSize',10),'FontSize',16)<br />
title('Interpolated field');<br />
<br />
set(gcf,'PaperUnits','centimeters','PaperPosition',[0 0 25 12 ]);<br />
print -dpng divand_simple_example.png<br />
</pre><br />
</html><br />
<br />
[[File:Divand simple example.png|800px]]<br />
<br />
=== Simple realistic example ===<br />
<br />
A realistic example of divand in 2 dimensions with Salinity observations in the Mediterranean Sea at 30m is provided. <br />
Observations can be downloaded from http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divand/data.dat and the bathymetry is available at http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divand/diva_bath.nc.<br />
<br />
<br />
<html><br />
<pre class="prettyprint lang-matlab"><br />
<br />
% load observations<br />
<br />
load data.dat<br />
<br />
% extract columns of data<br />
lonobs = data(:,1);<br />
latobs = data(:,2);<br />
S = data(:,3); <br />
<br />
% load bathymetry<br />
% bath is negative in water and positive in air<br />
bat = ncread('diva_bath.nc','bat');<br />
lon = ncread('diva_bath.nc','lon');<br />
lat = ncread('diva_bath.nc','lat');<br />
<br />
% compute grid metric<br />
% pm and pn are in meters^-1<br />
[lon,lat] = ndgrid(lon,lat); <br />
[pm,pn] = divand_metric(lon,lat);<br />
<br />
% compute mean and anomalies<br />
Smean = mean(S);<br />
Sanom = S - mean(S);<br />
<br />
% correlation length (in meters)<br />
len = 200e3;<br />
<br />
% signal-to-noise ratio<br />
lambda = 0.5;<br />
<br />
% land-sea mask<br />
% mask everything below 30 m<br />
mask = bat < -30;<br />
<br />
% mask for the analysis<br />
maska = mask;<br />
% remove Atlantic<br />
maska(1:60,130:end) = 0; <br />
% remove Black Sea<br />
maska(323:end,100:end) = 0;<br />
<br />
% make analysis<br />
Sa = divand(maska,{pm,pn},{lon,lat},{lonobs,latobs},Sanom,len,lambda);<br />
<br />
% add mean back<br />
Sa2 = Sa + Smean;<br />
<br />
% create plots<br />
<br />
% color axis<br />
ca = [36.2520 39.4480];<br />
<br />
% aspect ratio<br />
ar = [1 cos(mean(lat(:)) * pi/180) 1];<br />
<br />
<br />
subplot(2,1,1);<br />
scatter(lonobs,latobs,10,S)<br />
caxis(ca);<br />
colorbar<br />
hold on, contour(lon,lat,mask,0.5,'k')<br />
xlim(lon([1 end]))<br />
ylim(lat([1 end]))<br />
title('Observations');<br />
set(gca,'DataAspectRatio',ar,'Layer','top')<br />
<br />
subplot(2,1,2);<br />
pcolor(lon,lat,Sa2), shading flat,colorbar<br />
hold on<br />
plot(lonobs,latobs,'k.','MarkerSize',1)<br />
caxis(ca)<br />
contour(lon,lat,mask,0.5,'k')<br />
xlim(lon([1 end]))<br />
ylim(lat([1 end]))<br />
title('Analysis');<br />
set(gca,'DataAspectRatio',ar,'Layer','top')<br />
<br />
set(gcf,'PaperUnits','centimeters','PaperPosition',[0 0 15 15 ]);<br />
print -dpng divand_realistic_example.png</pre><br />
</html><br />
<br />
This example gives the following output:<br />
<br />
[[Image:Divand realistic example.png|800px]]<br />
<br />
<br />
=== Determining the parameters ===<br />
<br />
The parameter lambda and parameter len are crucial for the analysis. lambda corresponds to the signal-to-noise ratio (variance of background error over variance of observation error). Therefore, its value depends on how accurate and how representative the observations are. The value of len can sometimes be determined by physical arguments.<br />
One statistical way to determine the parameter(s) is to do a [https://en.wikipedia.org/wiki/Cross-validation_%28statistics%29 cross-validation].<br />
<br />
# choose, at random, a relatively small subset of observations (about 5%). This is the validation data set.<br />
# make the analysis without your validation data set<br />
# compare the analysis to your validation data set and compute the RMS difference<br />
# repeat steps 2 and 3 with different values of the parameters and try to minimize the RMS difference.<br />
<br />
The minimization of the RMS difference can be automated using e.g. the octave/matlab function <tt>fminsearch</tt>.<br />
You can repeat all steps with a different validation data set to ensure that the optimal parameters values are robust.<br />
<br />
= Fun =<br />
<br />
A [http://data-assimilation.net/Tools/divand_demo/html/ educational web application] has been developed to reconstruct a field based on point "observations". The user must choose in an optimal way the location of 10 observations such that the analysed field obtained by divand based on these observation is as close as possible to the original field.<br />
<br />
= Troubleshooting =<br />
<br />
Cholesky factorization fails with the following error:<br />
<br />
??? Error using ==> chol<br />
CHOLMOD internal error.<br />
<br />
Error in ==> CovarIS.factorize at 5<br />
[self.RP, self.q, self.PP] = chol (self.IS);<br />
<br />
This might happen if:<br />
* memory is insufficient,<br />
* matrix contains a NaN introduced through metric scale factor equal to zero or a user constraint.<br />
<br />
<br />
== ichol failed ==<br />
<br />
You get the error:<br />
<br />
Error using ichol<br />
Encountered nonpositive pivot.<br />
<br />
You might try diagonal compensation, e.g.<br />
<br />
icholparam = struct('michol','on','diagcomp',0.0036); <br />
<br />
or the incomplete Cholesky decomposition with threshold dropping (ict) and diagonal compensation:<br />
<br />
icholparam = struct('type','ict','droptol',1e-6,'diagcomp',0.0001);<br />
<br />
To pass the ichol parameters you must call <tt>divand</tt> like this:<br />
<br />
[fi,s] = divand(mask,{pm,pn,pk},{xi,yi,zi},{x,y,z},f,len,lambda,...<br />
'diagnostics',1,'primal',1,'inversion','pcg',...<br />
'tol',1e-6,'maxit',50000,...<br />
'compPC',@(iB,H,R) divand_pc_michol(iB,H,R,icholparam));<br />
<br />
At bit of experimentation is necessary. Try to use lowest value of diagcomp (without triggering the error in ichol) and the lowest value of troptol for the ict decomposition (without running out of memory).</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Divand
Divand
2014-01-16T16:37:11Z
<p>Jmb: </p>
<hr />
<div><html><br />
<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js?lang=matlab"></script><br />
<br />
<style><br />
.fun {<br />
color: black;<br />
}<br />
</style><br />
</html><br />
<br />
<tt>divand</tt> performs an n-dimensional variational analysis of arbitrarily located observations. Observation will be interpolated on a curvilinear grid in 2, 3 or more dimensions.<br />
<br />
Please cite this paper as follows if you use <tt>divand</tt> in a publication:<br />
<br />
Barth, A., Beckers, J.-M., Troupin, C., Alvera-Azcárate, A., and Vandenbulcke, L.: divand-1.0: n-dimensional variational data analysis for ocean observations, Geosci. Model Dev., 2013, in press. URL http://hdl.handle.net/2268/160913 <br />
<br />
The submitted manuscript is also available at Geoscientific Model Development 'Discussion', but please cite the final version (in Geoscientific Model Development) rather than the discussion paper.<br />
<br />
= Requirements =<br />
<br />
Your need [http://www.octave.org GNU Octave] (version 3.4 or later) or MATLAB to run divand.<br />
<br />
= Installing =<br />
<br />
# Download the source code from http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divand/divand-1.1.tar.gz.<br />
# Extract the package<br />
# In MATLAB add the directory divand-x.y to the search path. In octave add the command to your <tt>.octaverc</tt> file (for testing it is sufficient if you move your current working directory to the divand-x.y directory):<br />
<br />
addpath('/path/to/divand-x.y.');<br />
<br />
= Testing =<br />
<br />
A test script <tt>test_divand</tt> is included to verify the correct functioning of the toolbox.<br />
The script should be run in a Octave or MATLAB session. All tests should pass without warning or error.<br />
<br />
run test_interp_1d: (max difference=2.22045e-16) OK <br />
run test_interp_2d: (max difference=2.22045e-16) OK <br />
run test_interp_regular: (max difference=2.22045e-16) OK <br />
run test_sparse_diff: (max difference=0) OK <br />
run test_1dvar: OK <br />
run test_2dvar: (max difference=4.28659e-16) OK <br />
run test_2dvar_check: (max rms=2.39788e-16) OK <br />
run test_2dvar_adv: OK <br />
run test_2dvar_rellen: OK <br />
run test_2dvar_lenxy: OK <br />
run test_2dvar_check_correrr: (max rms=7.45461e-16) OK <br />
run test_2dvar_constrain: (max rms=9.41909e-10) OK <br />
run test_2dvar_cyclic: (max rms=2.71352e-14) OK <br />
run test_2dvar_eof_var: OK <br />
run test_2dvar_eof_check: OK <br />
run test_3dvar: (max difference=0.0182573) OK <br />
run test_3dvar_large_stacked: (max difference=2.40796e-15) OK <br />
run test_4dvar: (max difference=0.0111807) OK<br />
<br />
= Documentation =<br />
<br />
The main routine of this toolbox is called <tt>divand</tt> which performs an n-dimensional variational analysis of arbitrarily located observations. It can be called with a different number of input and output arguments:<br />
<br />
[fi,err,s] = divand(mask,pmn,xi,x,f,len,lambda,...); <br />
[fi,err] = divand(mask,pmn,xi,x,f,len,lambda,...); <br />
[fi,s] = divand(mask,pmn,xi,x,f,len,lambda,...); <br />
<br />
== Input arguments ==<br />
<br />
;mask: binary mask delimiting the domain. 1 is inside and 0 outside. This parameters has the same number of dimensions and grid points as the domain. For oceanographic application, this is the land-sea mask. <br />
;pmn: scale factor of the grid. pmn is a cell array with n arrays (each array has the same size as the mask). Every element represents the scale factor of the corresponding dimension. Its inverse is the local resolution of the grid in a particular dimension. <br />
;xi: cell array with n arrays (each array has the same size as the mask). Every element represents a coordinate of the final grid on which the observations are interpolated <br />
;x: cell array with n vectors (m-by-1 vector). Every vector represents a coordinate of the observations <br />
;f: vector with the value of the observations *minus* the background estimate (m-by-1 array). (see note) <br />
;len: correlation length (units must be consistent with scale factors)<br />
* if len is scalar, then the correlation length is the same in all directions and everywhere in the domain<br />
* if len is cell array of n scalars, then the correlation length can depend on the direction but for a given direction the correlation length is the same everywhere in the domain. The option is for example used when analysing 3D domain (longitude, latitude and depth) since the vertical scale is much smaller than the horizontal scale.<br />
* if len is cell array of n arrays (each array has the same size as the mask), then the correlation length can depend on the direction and on the location. The individual arrays should have the same size as the domain.<br />
<br />
;lambda: signal-to-noise ratio of observations (if lambda is a scalar). lambda is defined as the ratio of background error variance over the observation error variance. The larger this value is, the closer is the interpolated field <tt>fi</tt> to the observation.<br />
* If lambda is a scalar, then R = 1/lambda I, where R is the observation error covariance matrix (scaled by the background error variance),<br />
* If lambda is a vector, then R = diag(lambda)<br />
* If lambda is a matrix (or matrix-like object such CovarParam), then R = lambda<br />
<br />
== Optional input arguments ==<br />
<br />
Optional input arguments specified as pairs of keyword and values:<br />
;'velocity', vel: cell array with n arrays (each array has the same size as the mask) representing the velocity of advection constraint. The default is no advection constraint<br />
<br />
;'alpha': alpha is vector of coefficients multiplying various terms in the cost function.<br />
The first element multiplies the norm.<br />
The other i-th element of alpha multiplies the (i+1)-th derivative. <br />
Per default, the highest derivative is m = ceil(1+n/2) where n is the dimension of the problem. The values of alpha are per default the (m+1)th row of the Pascal triangle:<br />
<br />
m=0 1<br />
m=1 1 1<br />
m=1 1 2 1 (n=1,2)<br />
m=2 1 3 3 1 (n=3,4)<br />
...<br />
<br />
;'diagnostics': 0 or 1 turns diagnostic and debugging information on (1) or off (0, default). If on, they will be returned as the last output argument<br />
<br />
;'constraint': a structure with user specified constraint<br />
<br />
;'moddim': modulo for cyclic dimension (vector with n elements). Zero is used for non-cyclic dimensions. Halo points should not be included for cyclic dimensions. For example if the first dimension is cyclic, then the grid point corresponding to mask(1,j) should be between mask(end,1) (left neighbord) and mask(2,j) (right neighbord)<br />
<br />
;'fracdim': fractional indices (n-by-m array). If this array is specified, then x and xi are not used.<br />
<br />
Note: 'velocity' and 'constraint' may appear multiple times<br />
<br />
== Output ==<br />
;fi: the analysed field<br />
;err: error variance of the analysis field relative to the error variance of the background<br />
;s: structure with some diagnostics mainly for debugging purposes.<br />
<br />
<br />
=== Note ===<br />
<br />
If zero is not a valid first guess for your variable (as it is the case for e.g. ocean temperature), you have to subtract the first guess from the observations before calling divand and then add the first guess back in.<br />
<br />
<br />
== Advanced usage ==<br />
<br />
=== Additional constraint ===<br />
<br />
An arbitrary number of additional constraint can be included to the cost function which should have the following form:<br />
<br />
<br />
<math><br />
J_c(\vec x) = \sum_i \left(\mathbf C_i \vec x - \vec z_i \right)^T \mathbf Q_i^{-1} \left(\mathbf C_i \vec x - \vec z_i \right)<br />
</math><br />
<br />
For every constrain a structure with the following fields is passed to <tt>divand</tt>:<br />
<br />
;yo: the vector <math>\vec z_i</math><br />
;H: the matrix <math>\mathbf C_i</math><br />
;R: the matrix <math>\mathbf Q_i</math> (symmetric and positive defined)<br />
<br />
Internally the observations are also implemented as an additional constraint.<br />
<br />
== Example ==<br />
<br />
<br />
=== Simple analytical example ===<br />
<br />
see divand_simple_example.m<br />
<br />
<html><br />
<pre class="prettyprint lang-matlab"><br />
% A simple example of divand is 2 dimensions<br />
% with observations from an analytical function<br />
<br />
<br />
% observations<br />
x = rand(75,1);<br />
y = rand(75,1);<br />
f = sin(x*6) .* cos(y*6);<br />
<br />
% final grid<br />
[xi,yi] = ndgrid(linspace(0,1,30));<br />
<br />
% reference field<br />
fref = sin(xi*6) .* cos(yi*6);<br />
<br />
% all points are valid points<br />
mask = ones(size(xi));<br />
<br />
% this problem has a simple cartesian metric<br />
% pm is the inverse of the resolution along the 1st dimension<br />
% pn is the inverse of the resolution along the 2nd dimension<br />
<br />
pm = ones(size(xi)) / (xi(2,1)-xi(1,1));<br />
pn = ones(size(xi)) / (yi(1,2)-yi(1,1));<br />
<br />
% correlation length<br />
len = 0.1;<br />
<br />
% signal-to-noise ratio<br />
lambda = 20;<br />
<br />
% fi is the interpolated field<br />
fi = divand(mask,{pm,pn},{xi,yi},{x,y},f,len,lambda);<br />
<br />
% plotting of results<br />
subplot(1,2,1); <br />
pcolor(xi,yi,fref);<br />
shading flat,colorbar<br />
ca = caxis;<br />
set(findobj(gcf,'FontSize',10),'FontSize',16)<br />
title('Reference field and observation loc.');<br />
hold on<br />
plot(x,y,'k.');<br />
<br />
subplot(1,2,2); <br />
hold on<br />
pcolor(xi,yi,fi);<br />
shading flat,colorbar<br />
caxis(ca);<br />
set(findobj(gcf,'FontSize',10),'FontSize',16)<br />
title('Interpolated field');<br />
<br />
set(gcf,'PaperUnits','centimeters','PaperPosition',[0 0 25 12 ]);<br />
print -dpng divand_simple_example.png<br />
</pre><br />
</html><br />
<br />
[[File:Divand simple example.png|800px]]<br />
<br />
=== Simple realistic example ===<br />
<br />
A realistic example of divand in 2 dimensions with Salinity observations in the Mediterranean Sea at 30m is provided. <br />
Observations can be downloaded from http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divand/data.dat and the bathymetry is available at http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/divand/diva_bath.nc.<br />
<br />
<br />
<html><br />
<pre class="prettyprint lang-matlab"><br />
<br />
% load observations<br />
<br />
load data.dat<br />
<br />
% extract columns of data<br />
lonobs = data(:,1);<br />
latobs = data(:,2);<br />
S = data(:,3); <br />
<br />
% load bathymetry<br />
% bath is negative in water and positive in air<br />
bat = ncread('diva_bath.nc','bat');<br />
lon = ncread('diva_bath.nc','lon');<br />
lat = ncread('diva_bath.nc','lat');<br />
<br />
% compute grid metric<br />
% pm and pn are in meters^-1<br />
[lon,lat] = ndgrid(lon,lat); <br />
[pm,pn] = divand_metric(lon,lat);<br />
<br />
% compute mean and anomalies<br />
Smean = mean(S);<br />
Sanom = S - mean(S);<br />
<br />
% correlation length (in meters)<br />
len = 200e3;<br />
<br />
% signal-to-noise ratio<br />
lambda = 0.5;<br />
<br />
% land-sea mask<br />
% mask everything below 30 m<br />
mask = bat < -30;<br />
<br />
% mask for the analysis<br />
maska = mask;<br />
% remove Atlantic<br />
maska(1:60,130:end) = 0; <br />
% remove Black Sea<br />
maska(323:end,100:end) = 0;<br />
<br />
% make analysis<br />
Sa = divand(maska,{pm,pn},{lon,lat},{lonobs,latobs},Sanom,len,lambda);<br />
<br />
% add mean back<br />
Sa2 = Sa + Smean;<br />
<br />
% create plots<br />
<br />
% color axis<br />
ca = [36.2520 39.4480];<br />
<br />
% aspect ratio<br />
ar = [1 cos(mean(lat(:)) * pi/180) 1];<br />
<br />
<br />
subplot(2,1,1);<br />
scatter(lonobs,latobs,10,S)<br />
caxis(ca);<br />
colorbar<br />
hold on, contour(lon,lat,mask,0.5,'k')<br />
xlim(lon([1 end]))<br />
ylim(lat([1 end]))<br />
title('Observations');<br />
set(gca,'DataAspectRatio',ar,'Layer','top')<br />
<br />
subplot(2,1,2);<br />
pcolor(lon,lat,Sa2), shading flat,colorbar<br />
hold on<br />
plot(lonobs,latobs,'k.','MarkerSize',1)<br />
caxis(ca)<br />
contour(lon,lat,mask,0.5,'k')<br />
xlim(lon([1 end]))<br />
ylim(lat([1 end]))<br />
title('Analysis');<br />
set(gca,'DataAspectRatio',ar,'Layer','top')<br />
<br />
set(gcf,'PaperUnits','centimeters','PaperPosition',[0 0 15 15 ]);<br />
print -dpng divand_realistic_example.png</pre><br />
</html><br />
<br />
This example gives the following output:<br />
<br />
[[Image:Divand realistic example.png|800px]]<br />
<br />
<br />
=== Determining the parameters ===<br />
<br />
The parameter lambda and parameter len are crucial for the analysis. lambda corresponds to the signal-to-noise ratio (variance of background error over variance of observation error). Therefore, its value depends on how accurate and how representative the observations are. The value of len can sometimes be determined by physical arguments.<br />
One statistical way to determine the parameter(s) is to do a [https://en.wikipedia.org/wiki/Cross-validation_%28statistics%29 cross-validation].<br />
<br />
# choose, at random, a relatively small subset of observations (about 5%). This is the validation data set.<br />
# make the analysis without your validation data set<br />
# compare the analysis to your validation data set and compute the RMS difference<br />
# repeat steps 2 and 3 with different values of the parameters and try to minimize the RMS difference.<br />
<br />
The minimization of the RMS difference can be automated using e.g. the octave/matlab function <tt>fminsearch</tt>.<br />
You can repeat all steps with a different validation data set to ensure that the optimal parameters values are robust.<br />
<br />
= Fun =<br />
<br />
A [http://data-assimilation.net/Tools/divand_demo/html/ educational web application] has been developed to reconstruct a field based on point "observations". The user must choose in an optimal way the location of 10 observations such that the analysed field obtained by divand based on these observation is as close as possible to the original field.<br />
<br />
= Troubleshooting =<br />
<br />
Cholesky factorization fails with the following error:<br />
<br />
??? Error using ==> chol<br />
CHOLMOD internal error.<br />
<br />
Error in ==> CovarIS.factorize at 5<br />
[self.RP, self.q, self.PP] = chol (self.IS);<br />
<br />
This might happen if:<br />
* memory is insufficient,<br />
* matrix contains a NaN introduced through metric scale factor equal to zero or a user constraint.<br />
<br />
<br />
== ichol failed ==<br />
<br />
You get the error:<br />
<br />
Error using ichol<br />
Encountered nonpositive pivot.<br />
<br />
You might try diagonal compensation, e.g.<br />
<br />
icholparam = struct('michol','on','diagcomp',0.0036); <br />
<br />
or the incomplete Cholesky decomposition with threshold dropping (ict) and diagonal compensation:<br />
<br />
icholparam = struct('type','ict','droptol',1e-6,'diagcomp',0.0001);<br />
<br />
To pass the ichol parameters you must call <tt>divand</tt> like this:<br />
<br />
[fi,s] = divand(mask,{pm,pn,pk},{xi,yi,zi},{x,y,z},f,len,lambda,...<br />
'diagnostics',1,'primal',1,'inversion','pcg',...<br />
'tol',1e-6,'maxit',50000,...<br />
'compPC',@(iB,H,R) divand_pc_michol(iB,H,R,icholparam));<br />
<br />
At bit of experimentation is necessary. Try to use lowest value of diagcomp (without triggering the error in ichol) and the lowest value of troptol for the ict decomposition (without running out of memory).</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_installation
Diva installation
2013-12-12T13:46:00Z
<p>Jmb: /* Edit configuration file for compilation */</p>
<hr />
<div><div style="float: left;text-align:justify; width: 75%"><br />
<br />
== How to install? ==<br />
<br />
Chose a place where you want to work with the new version (if you already have a running installation, it is advised to install the new version at another location and replace the old one only when everything has been set up correctly with the new version).<br />
<br />
* Download the archive, here as an example for version 4.6.2:<br />
wget http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.6.2.tar.gz<br />
<br />
* Extract the files from the archive:<br />
tar -xvf diva-4.6.2.tar.gz<br />
<br />
== Compilation == <br />
<br />
Diva can be compiled with different operating systems. The preferred one is Linux, as installing on windows is more tedious. The procedures are detailed below. If you already have a running Diva installation, install the new version at a new place and look at the compiler options you have used in the past in the corresponing '''divacompile_options'''<br />
<br />
=== Linux ===<br />
<br />
The minimal requirements are:<br />
* A Fortran 90 compiler with -cpp possibilities (easily installed through a package manager)<br />
* The NetCDF library (instructions for installation [http://modb.oce.ulg.ac.be/mediawiki/index.php/NetCDF_format here])<br />
<br />
==== Edit configuration file for compilation ====<br />
<br />
* Go in the source directory<br />
cd diva-4.6.2/DIVA3D/src/Fortran/<br />
* Edit the file '''divacompile_options''' according to your installation.<br />
For versions < 4.6.0: compiler name and flags as well as NetCDF library location have to be indicated<br />
'''Example:'''<br />
# Name of the fortran compiler (ex: ifort,gfortran,pgi,...)<br />
compiler=ifort<br />
# Compilation flags<br />
flags='-O3'<br />
# Netcdf library<br />
nclib=/usr/local/lib/netcdf3ifort/libnetcdf.a<br />
If your installation knows the [http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/nc_002dconfig.html nc-config] or '''nf-config''' command, you can use<br />
nclib=`nc-config --flibs`<br />
For versions >= 4.6.0: the compilations script automatically detects the compiler, flags and NetCDF library using [http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/nc_002dconfig.html nc-config] or '''nf-config''' tools.<br />
This possibility is normally detected automatically but if there are problems with the Netcdf library you might look into these definitions. If your compilation fails and complains about not finding netcdf.mod you can add '''-I/<pathtomissingmodfile>''' into the compilation options if you know where the netcdf.mod can be found.<br />
<br />
==== Run the compilation script ==== <br />
./divacompileall<br />
<br />
<br />
==== Check configuration log ====<br />
<br />
Information related to the compilation is contained in file '''compilation.log'''.<br><br />
Check that all the programs were compiled.<br />
<br />
Compilation time: jue ago 8 15:04:46 CEST 2013<br />
compiler: gfortran<br />
compilation flags: -O3 -cpp -DDIVAITERATIVE<br />
Calc directory: 1/1 program compiled<br />
Extensions directory: 13/13 programs compiled<br />
Mesh directory: 9/9 programs compiled<br />
NC directory: 3/3 programs compiled<br />
PlPlot directory: 1/1 programs compiled<br />
Util directory: 41/41 programs compiled<br />
Pipetest directory: 1/1 program compiled<br />
Stabil directory: 28/28 programs compiled<br />
----------------------------------------------------------<br />
TOTAL: 97/97 programs compiled<br />
----------------------------------------------------------<br />
Binaries are located in directory:<br />
~/diva-4.6.2/DIVA3D/bin<br />
<br />
=== Windows ===<br />
<br />
To compile the code under windows, you need to install [http://cygwin.com/install.html cygwin], a Linux-like environment for Windows.<br />
<br />
The installation or update of cygwin is done by running the '''setup.exe''' executable. It is recommended to install:<br />
<br />
* g77, a Fortran 77 compiler <br />
* [http://gcc.gnu.org/wiki/GFortran/ gfortran], a Fortran 95 compiler . You may have to install it from http://gfortran.com/download/cygwin/, since it is not available through the cygwin installer.<br />
* Xterm, the X11 terminal emulator.<br />
* gmp, mpfr, and mpc libraries<br />
* The [http://www.unidata.ucar.edu/downloads/netcdf/index.jsp NetCDF] library. The library is available in the cygwin installer, but does not properly work in all cases (and you must add the library '''nclib=/usr/lib/libnetcdff.dll.a''' into the compiling options). When trying to make the cygwin netcdt library to work, you might need to use '''cygcheck netcdfoutput.a''' to see which libraries are still missing (in our case sasl) and therefore to install with the cygwin installer. <br />
<br />
If you need to install nectCDF from source, proceed as follows. We used version 3.6.3, which does not require hdf5 library. The installation was performed with commands:<br />
cd directory_containing_netcdf3.6.3<br />
./configure --disable-cc<br />
make<br />
make install<br />
<br />
The second line means that the library will not be build for c++ (not necessary in the case of Diva).<br />
<br />
[[File:InstallCygwin1.png|500px|left]]<br />
<br />
[[File:InstallCygwin2.png|500px|left]]<br />
<br />
<br style="clear: both" /><br />
<br />
== Run a test case ==<br />
<br />
* Go into ''divastripped'' directory:<br />
cd path_to_divastripped<br />
* Execute the script divatest:<br />
divatest<br />
* Check you results: they should look like this (here viewed with ncview): <br />
<br />
[[Image:Diva test results.png|550px|center]]<br />
<br />
<br />
Further tests provided are <br />
divatest0 <br />
and <br />
divabigtest <br />
for testing finer meshes. Finally <br />
divatesterror <br />
is provided for checking all error calculation possibilities.<br />
<br />
== Possible issues ==<br />
<br />
=== Command not found ===<br />
<br />
In case of ''command not found'' message, you may have to type<br />
export PATH=$PATH:.<br />
<br />
So if you need to type ./divacalc or similar things in a directory where divacalc is present, make sure to expand your path as shown above to be able use local scripts and programs<br />
<br />
=== Problem with awk ===<br />
<br />
By default Ubuntu comes with [http://invisible-island.net/mawk/ mawk], which has a different behavior when interpreting [http://www.gnu.org/software/gawk/manual/gawk.html awk]. In that case, the test will fail, and you will get an error like<br />
error message<br />
<br />
To solve this problem, it is only necessary to install [http://www.gnu.org/software/gawk/ gawk]. The problem was previously reported for other programs, ''e.g.'', http://lists.netisland.net/archives/plug/plug-2008-09/msg00071.html.<br />
<br />
Running <tt>divatest</tt> will try to test if you have the correct gawk version<br />
</div><br />
<br />
[[Category : compiling]]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/New_Diva_Features
New Diva Features
2013-12-01T10:24:32Z
<p>Jmb: </p>
<hr />
<div>==4.7.1==<br />
Expected release data, December 2013<br />
<br />
Beta testers are [mailto:jm.beckers@ulg.ac.be?subject=diva-4.6.0%20beta$20testing&body=Hi%0AI%20would%20like%20to%20beta%20test%20the%20new%20Diva%20version welcomed]: <br />
<br />
* Correlated observational errors<br />
* Better file structures (input and driver better separated from command) in 4D loops<br />
* Automatic selection of solver (parallel, serial, iterative) depending on the problem type and size<br />
* Retrieval of topographies from diva on web for easy setup<br />
* Improved version of the almost exact error calculation with boundary effects<br />
* Incorporation of metadata (EDMO-CDI identifier, space-time location) into 4D netCDF files of climatologies<br />
<br />
==4.6.3==<br />
<br />
<div style="float: left;text-align:justify; width: 50%"><br />
<br />
Release date, November 2013; this is the current official version.<br />
<br />
* Minor bug corrections following the Diva workshop<br />
<br />
<br />
==4.6.1==<br />
<br />
<div style="float: left;text-align:justify; width: 50%"><br />
<br />
<br />
* Two additional solvers: a parallel and iterative version<br />
* Optimisations for large data sets<br />
* Optimisations of file exchanges for use with [http://odv.awi.de/ ODV]<br />
* Highly optimised new version of the grid generator (typical reduction of a factor 10 in CPU time)<br />
* Integration of faster error calculations into the 3D/4D version (using new <tt>ispec</tt> values)<br />
* Clearer log files for debugging<br />
<br />
(note: With the availability of gfortran, we decided to abandon the support of pure f77 compilations and this release needs Fortran 90 or Fortran 95 and -'''cpp''' preprocessing tools).<br />
<br />
Example of performance gain using <tt>divabigtest</tt> (test with 1.5 million data points and a very fine mesh):<br />
<br />
CPU time in seconds in 4.5.1 4.6.1<br />
for<br />
- mesh 27 2<br />
- analysis 318 159<br />
<br />
The results presented in the right-hand side shows how the computation time evolves:<br />
* for the computation when the number of observations increases.<br />
* for the mesh generation when the correlation length is modified.<br />
<br />
</div><div style="float: right;text-align:justify; width: 50%"><br />
[[Image:Diva_time_2013_05_30_09_06_55_gfortran_4pt6.png|frameless|super|left|400px|Computation time vs. number of data for two releases of Diva compiled with the same compiler and options.]]<br />
[[Image:Time_mesh.png|frameless|super|left|400px|Computation time for the mesh generation vs. correlation length.]]<br />
</div><br />
<br />
<br />
<br style="clear: both" /><br />
<br />
==4.5.1==<br />
<br />
Version 4.5.1 was released in March 2013 and includes the following new features, partly based on the feedback we got from the [http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_workshop_2012_Roumaillac DIVA workshop 2012] in Roumaillac.<br />
<br />
*Advection constraint with linear decay rate and local sources (such as found for radioactive tracers and river discharges)<br />
<br />
*<tt>divadetrend</tt> now allows one to change easily the order in which ''detrending'' is done (for example first years then months or the inverse)<br />
<br />
*two new error calculations are provided: <br />
# one quick version <tt>divacpme</tt> with better quality than the original quick version of the poor man’s error; <br />
# the other <tt>divaexerr</tt> is an almost exact error calculation much faster than the exact calculation. <br />
<br />
These two options will be implemented into the 4D version for version 4.6.0 so that error fields will be available with more reasonable CPU times for final climatology productions<br />
<br />
*Simplification of installation and compilation with additional tests of correct installation<br />
<br />
*Housekeeping of the code (simplifications, error messages, cleaning up of code, further optimisations, elimination of depreciated tools)<br />
<br />
*New documentation largely augmented with examples and new tool descriptions<br />
<br />
*Possibilities to call DIVA from other software via system calls, exemplified by a matlab function <tt>divagrid.m</tt><br />
<br />
*<tt>divadoxml</tt> adapted to new specifications from IFREMER<br />
<br />
== 4.4.1 == <br />
<br />
Released January 2012<br />
<br />
* simple compiled programs replaced by awk<br />
<br />
== 4.3.x ==<br />
Several releases during 2009 and 2010<br />
<br />
<br />
* 3D/4D version with<br />
** Adapting and automatisation of data selection for DIVA input (including vertical interpolation from ODV4 spreadsheets)<br />
** Loops on depth, parameters, seasons etc<br />
** Parameter optimisation (robustness and vertical coherency) <br />
** Automated plotting interface <br />
** Preparing NetCDF files with CF compliance<br />
* Faster and more robust mesh generation, optimisation of computational load (for incorporation of stripped version into ODV)<br />
* Adequate contour generation from a topography mask (including tools to retrieve topography fields)<br />
* Automated cross validation for choice of analysis parameters (including fast real cross validation)<br />
* Some additional diagnostic tools (fitting of correlation length)<br />
* Data-quality control (spatial coherence)<br />
* Non-uniform correlation length<br />
* Exact error calculation and poor man's error calculation (for coupling with ODV)<br />
* Advection constraint<br />
* Hydrostatic constraint in 3D mode<br />
* Option to eliminate data that are not on the mesh before estimation of L and S/N<br />
* Option to create a data set from which outliers are eliminated (outliers determined from a preliminary DIVA execution)<br />
* Possibility to create a pseudo-velocity field so as to increase correlations along topography <br />
* Option ot use a relative correlation length spatially changing depending on data coverage<br />
* Option to calculate a lower limit for correlation length (based on average data distance)<br />
* Additional output fields (data coverage)<br />
* Detrending (with help of J. Carstensen) to deal with heterogeneous data distribution<br />
* Error calculation for domain integrals (heat content, total biomass etc)<br />
<br />
== 4.2.1 ==<br />
<br />
Release: May 2008<br />
<br />
Implementation of new tools:<br />
* <tt>divaUVtopo</tt>: creates pseudo velocity field based on topography.<br />
* adapation of <tt>divafit</tt> to take the mean distance between data as an inferior limit. <br />
* <tt>divadatacoverage</tt> now creates a file containing the mean distance (<tt>./output/meandistance.dat</tt>)<br />
<br />
== 4.1.1 ==<br />
<br />
Release: November 2007<br />
<br />
* Outputs for coupling with ODV<br />
* netCDF support<br />
* automated contour generation<br />
* Topography generation<br />
* Windows Version<br />
* First tools to help calibrating parameters (divafit, cross validation techniques)<br />
<br />
== 4.0.0 ==<br />
<br />
Release: October 2006<br />
<br />
* Basic Diva gridding tool<br />
* Simplified input files (param.par data.dat coast.cont)<br />
<br />
<br />
<br />
<!--<br />
<br />
== --- ==<br />
<br />
r193 | jmb | 2008-07-23 23:44:41 +0200 (mié, 23 jul 2008) | 1 line<br />
<br />
update for divasnbygrid<br />
------------------------------------------------------------------------<br />
r192 | jmb | 2008-07-22 13:31:51 +0200 (mar, 22 jul 2008) | 2 lines<br />
<br />
support for<br />
plotboundingbox.dat used to limit plots to non-overlapping regions<br />
------------------------------------------------------------------------<br />
r186 | jmb | 2008-07-21 14:09:23 +0200 (lun, 21 jul 2008) | 4 lines<br />
<br />
first prototype of parameter fitting by gridding.<br />
Needs a param.par for first guess on L<br />
<br />
divasnbygrid [-r] creates new estimates in output/param.par.fit (replaced in input with option -r acrivated)<br />
<br />
<br />
r175 | jmb | 2008-07-16 17:51:56 +0200 (mié, 16 jul 2008) | 3 lines<br />
<br />
divaintegral [-naive]<br />
when ispec< 0, now real covariance sums. For ispec>0, hybrid approach as for the errors (no poor man's equivalent though)<br />
<br />
------------------------------------------------------------------------<br />
r174 | jmb | 2008-07-16 17:50:55 +0200 (mié, 16 jul 2008) | 2 lines<br />
<br />
support for summing of covariances for integral error<br />
yet to come: input of variable surface elements<br />
------------------------------------------------------------------------<br />
r168 | jmb | 2008-07-14 10:25:01 +0200 (lun, 14 jul 2008) | 5 lines<br />
<br />
integral.dat containts<br />
Integral surface meanvalue<br />
<br />
erroronintegralnaive.dat contains<br />
naiveversion inflationfactor betterestimate<br />
<br />
<br />
== --- ==<br />
<br />
First version for detrending of analysis based on classes.<br />
Data need five columsn, where the fifth column contains<br />
an index for the classes (1, 2 , 3 , ...). (A class can for example be a year in a series of years for climatology production).<br />
divadetrend 4 will iterate 4 times (without paramter 10 iterations)<br />
<br />
<br />
--></div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_installation
Diva installation
2013-11-05T20:41:42Z
<p>Jmb: /* Check configuration log */</p>
<hr />
<div><div style="float: left;text-align:justify; width: 75%"><br />
<br />
== How to install? ==<br />
<br />
Chose a place where you want to work with the new version (if you already have a running installation, it is advised to install the new version at another location and replace the old one only when everything has been set up correctly with the new version).<br />
<br />
* Download the archive, here as an example for version 4.6.2:<br />
wget http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.6.2.tar.gz<br />
<br />
* Extract the files from the archive:<br />
tar -xvf diva-4.6.2.tar.gz<br />
<br />
== Compilation == <br />
<br />
Diva can be compiled with different operating systems. The preferred one is Linux, as installing on windows is more tedious. The procedures are detailed below. If you already have a running Diva installation, install the new version at a new place and look at the compiler options you have used in the past in the corresponing '''divacompile_options'''<br />
<br />
=== Linux ===<br />
<br />
The minimal requirements are:<br />
* A Fortran 90 compiler with -cpp possibilities (easily installed through a package manager)<br />
* The NetCDF library (instructions for installation [http://modb.oce.ulg.ac.be/mediawiki/index.php/NetCDF_format here])<br />
<br />
==== Edit configuration file for compilation ====<br />
<br />
* Go in the source directory<br />
cd diva-4.6.2/DIVA3D/src/Fortran/<br />
* Edit the file '''divacompile_options''' according to your installation.<br />
For versions < 4.6.0: compiler name and flags as well as NetCDF library location have to be indicated<br />
'''Example:'''<br />
# Name of the fortran compiler (ex: ifort,gfortran,pgi,...)<br />
compiler=ifort<br />
# Compilation flags<br />
flags='-O3'<br />
# Netcdf library<br />
nclib=/usr/local/lib/netcdf3ifort/libnetcdf.a<br />
If your installation knows the [http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/nc_002dconfig.html nc-config] or '''nf-config''' command, you can use<br />
nclib=`nc-config --flibs`<br />
For versions >= 4.6.0: the compilations script automatically detects the compiler, flags and NetCDF library using [http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/nc_002dconfig.html nc-config] or '''nf-config''' tools.<br />
This possibility is normally detected automatically but if there are problems with the Netcdf library you might look into these definitions.<br />
<br />
==== Run the compilation script ==== <br />
./divacompileall<br />
<br />
<br />
==== Check configuration log ====<br />
<br />
Information related to the compilation is contained in file '''compilation.log'''.<br><br />
Check that all the programs were compiled.<br />
<br />
Compilation time: jue ago 8 15:04:46 CEST 2013<br />
compiler: gfortran<br />
compilation flags: -O3 -cpp -DDIVAITERATIVE<br />
Calc directory: 1/1 program compiled<br />
Extensions directory: 13/13 programs compiled<br />
Mesh directory: 9/9 programs compiled<br />
NC directory: 3/3 programs compiled<br />
PlPlot directory: 1/1 programs compiled<br />
Util directory: 41/41 programs compiled<br />
Pipetest directory: 1/1 program compiled<br />
Stabil directory: 28/28 programs compiled<br />
----------------------------------------------------------<br />
TOTAL: 97/97 programs compiled<br />
----------------------------------------------------------<br />
Binaries are located in directory:<br />
~/diva-4.6.2/DIVA3D/bin<br />
<br />
=== Windows ===<br />
<br />
To compile the code under windows, you need to install [http://cygwin.com/install.html cygwin], a Linux-like environment for Windows.<br />
<br />
The installation or update of cygwin is done by running the '''setup.exe''' executable. It is recommended to install:<br />
<br />
* g77, a Fortran 77 compiler <br />
* [http://gcc.gnu.org/wiki/GFortran/ gfortran], a Fortran 95 compiler . You may have to install it from http://gfortran.com/download/cygwin/, since it is not available through the cygwin installer.<br />
* Xterm, the X11 terminal emulator.<br />
* gmp, mpfr, and mpc libraries<br />
* The [http://www.unidata.ucar.edu/downloads/netcdf/index.jsp NetCDF] library. The library is available in the cygwin installer, but does not properly work in all cases (and you must add the library '''nclib=/usr/lib/libnetcdff.dll.a''' into the compiling options). When trying to make the cygwin netcdt library to work, you might need to use '''cygcheck netcdfoutput.a''' to see which libraries are still missing (in our case sasl) and therefore to install with the cygwin installer. <br />
<br />
If you need to install nectCDF from source, proceed as follows. We used version 3.6.3, which does not require hdf5 library. The installation was performed with commands:<br />
cd directory_containing_netcdf3.6.3<br />
./configure --disable-cc<br />
make<br />
make install<br />
<br />
The second line means that the library will not be build for c++ (not necessary in the case of Diva).<br />
<br />
[[File:InstallCygwin1.png|500px|left]]<br />
<br />
[[File:InstallCygwin2.png|500px|left]]<br />
<br />
<br style="clear: both" /><br />
<br />
== Run a test case ==<br />
<br />
* Go into ''divastripped'' directory:<br />
cd path_to_divastripped<br />
* Execute the script divatest:<br />
divatest<br />
* Check you results: they should look like this (here viewed with ncview): <br />
<br />
[[Image:Diva test results.png|550px|center]]<br />
<br />
<br />
Further tests provided are <br />
divatest0 <br />
and <br />
divabigtest <br />
for testing finer meshes. Finally <br />
divatesterror <br />
is provided for checking all error calculation possibilities.<br />
<br />
== Possible issues ==<br />
<br />
=== Command not found ===<br />
<br />
In case of ''command not found'' message, you may have to type<br />
export PATH=$PATH:.<br />
<br />
So if you need to type ./divacalc or similar things in a directory where divacalc is present, make sure to expand your path as shown above to be able use local scripts and programs<br />
<br />
=== Problem with awk ===<br />
<br />
By default Ubuntu comes with [http://invisible-island.net/mawk/ mawk], which has a different behavior when interpreting [http://www.gnu.org/software/gawk/manual/gawk.html awk]. In that case, the test will fail, and you will get an error like<br />
error message<br />
<br />
To solve this problem, it is only necessary to install [http://www.gnu.org/software/gawk/ gawk]. The problem was previously reported for other programs, ''e.g.'', http://lists.netisland.net/archives/plug/plug-2008-09/msg00071.html.<br />
<br />
Running <tt>divatest</tt> will try to test if you have the correct gawk version<br />
</div><br />
<br />
[[Category : compiling]]</div>
Jmb
http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_installation
Diva installation
2013-11-05T20:39:32Z
<p>Jmb: /* Edit configuration file for compilation */</p>
<hr />
<div><div style="float: left;text-align:justify; width: 75%"><br />
<br />
== How to install? ==<br />
<br />
Chose a place where you want to work with the new version (if you already have a running installation, it is advised to install the new version at another location and replace the old one only when everything has been set up correctly with the new version).<br />
<br />
* Download the archive, here as an example for version 4.6.2:<br />
wget http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.6.2.tar.gz<br />
<br />
* Extract the files from the archive:<br />
tar -xvf diva-4.6.2.tar.gz<br />
<br />
== Compilation == <br />
<br />
Diva can be compiled with different operating systems. The preferred one is Linux, as installing on windows is more tedious. The procedures are detailed below. If you already have a running Diva installation, install the new version at a new place and look at the compiler options you have used in the past in the corresponing '''divacompile_options'''<br />
<br />
=== Linux ===<br />
<br />
The minimal requirements are:<br />
* A Fortran 90 compiler with -cpp possibilities (easily installed through a package manager)<br />
* The NetCDF library (instructions for installation [http://modb.oce.ulg.ac.be/mediawiki/index.php/NetCDF_format here])<br />
<br />
==== Edit configuration file for compilation ====<br />
<br />
* Go in the source directory<br />
cd diva-4.6.2/DIVA3D/src/Fortran/<br />
* Edit the file '''divacompile_options''' according to your installation.<br />
For versions < 4.6.0: compiler name and flags as well as NetCDF library location have to be indicated<br />
'''Example:'''<br />
# Name of the fortran compiler (ex: ifort,gfortran,pgi,...)<br />
compiler=ifort<br />
# Compilation flags<br />
flags='-O3'<br />
# Netcdf library<br />
nclib=/usr/local/lib/netcdf3ifort/libnetcdf.a<br />
If your installation knows the [http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/nc_002dconfig.html nc-config] or '''nf-config''' command, you can use<br />
nclib=`nc-config --flibs`<br />
For versions >= 4.6.0: the compilations script automatically detects the compiler, flags and NetCDF library using [http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/nc_002dconfig.html nc-config] or '''nf-config''' tools.<br />
This possibility is normally detected automatically but if there are problems with the Netcdf library you might look into these definitions.<br />
<br />
==== Run the compilation script ==== <br />
./divacompileall<br />
<br />
<br />
==== Check configuration log ====<br />
<br />
Information related to the compilation is contained in file '''compilation.log'''.<br><br />
Check that all the programs were compiled.<br />
<br />
Compilation time: jue ago 8 15:04:46 CEST 2013<br />
compiler: gfortran<br />
compilation flags: -O3 -cpp -DDIVAITERATIVE<br />
Calc directory: 1/1 program compiled<br />
Extensions directory: 13/13 programs compiled<br />
Mesh directory: 9/9 programs compiled<br />
NC directory: 3/3 programs compiled<br />
PlPlot directory: 1/1 programs compiled<br />
Util directory: 41/41 programs compiled<br />
Pipetest directory: 1/1 program compiled<br />
Stabil directory: 28/28 programs compiled<br />
----------------------------------------------------------<br />
TOTAL: 97/97 programs compiled<br />
----------------------------------------------------------<br />
Binaries are located in directory:<br />
~/diva-4.6.1/DIVA3D/bin<br />
<br />
=== Windows ===<br />
<br />
To compile the code under windows, you need to install [http://cygwin.com/install.html cygwin], a Linux-like environment for Windows.<br />
<br />
The installation or update of cygwin is done by running the '''setup.exe''' executable. It is recommended to install:<br />
<br />
* g77, a Fortran 77 compiler <br />
* [http://gcc.gnu.org/wiki/GFortran/ gfortran], a Fortran 95 compiler . You may have to install it from http://gfortran.com/download/cygwin/, since it is not available through the cygwin installer.<br />
* Xterm, the X11 terminal emulator.<br />
* gmp, mpfr, and mpc libraries<br />
* The [http://www.unidata.ucar.edu/downloads/netcdf/index.jsp NetCDF] library. The library is available in the cygwin installer, but does not properly work in all cases (and you must add the library '''nclib=/usr/lib/libnetcdff.dll.a''' into the compiling options). When trying to make the cygwin netcdt library to work, you might need to use '''cygcheck netcdfoutput.a''' to see which libraries are still missing (in our case sasl) and therefore to install with the cygwin installer. <br />
<br />
If you need to install nectCDF from source, proceed as follows. We used version 3.6.3, which does not require hdf5 library. The installation was performed with commands:<br />
cd directory_containing_netcdf3.6.3<br />
./configure --disable-cc<br />
make<br />
make install<br />
<br />
The second line means that the library will not be build for c++ (not necessary in the case of Diva).<br />
<br />
[[File:InstallCygwin1.png|500px|left]]<br />
<br />
[[File:InstallCygwin2.png|500px|left]]<br />
<br />
<br style="clear: both" /><br />
<br />
== Run a test case ==<br />
<br />
* Go into ''divastripped'' directory:<br />
cd path_to_divastripped<br />
* Execute the script divatest:<br />
divatest<br />
* Check you results: they should look like this (here viewed with ncview): <br />
<br />
[[Image:Diva test results.png|550px|center]]<br />
<br />
<br />
Further tests provided are <br />
divatest0 <br />
and <br />
divabigtest <br />
for testing finer meshes. Finally <br />
divatesterror <br />
is provided for checking all error calculation possibilities.<br />
<br />
== Possible issues ==<br />
<br />
=== Command not found ===<br />
<br />
In case of ''command not found'' message, you may have to type<br />
export PATH=$PATH:.<br />
<br />
So if you need to type ./divacalc or similar things in a directory where divacalc is present, make sure to expand your path as shown above to be able use local scripts and programs<br />
<br />
=== Problem with awk ===<br />
<br />
By default Ubuntu comes with [http://invisible-island.net/mawk/ mawk], which has a different behavior when interpreting [http://www.gnu.org/software/gawk/manual/gawk.html awk]. In that case, the test will fail, and you will get an error like<br />
error message<br />
<br />
To solve this problem, it is only necessary to install [http://www.gnu.org/software/gawk/ gawk]. The problem was previously reported for other programs, ''e.g.'', http://lists.netisland.net/archives/plug/plug-2008-09/msg00071.html.<br />
<br />
Running <tt>divatest</tt> will try to test if you have the correct gawk version<br />
</div><br />
<br />
[[Category : compiling]]</div>
Jmb