- remove asserts for iga & n_ietrs > 2?
- negative epsilon option?
- user-defined eliptic operator (compatible with user-defined rhs)
- would nothrows improve performance?
- detail/sharedmem: make summation helper vars one-dimensional
- FCT: should we use C_mono for calculating new C_mono in third and next iterations?
- dfl in 3D
- histogram-like probing of analytic functions in shallow water?
- swtich off assert(nondivergent) if dfl option set?
- dfl option in all shallow_water tests
- rename p.di, p.dj, p.dk -> p.grid_step?
- p -> rt_params in examples (Dorota'a suggesting at the first meeting)
- n_bits enum!
- asserts for Courant number < 1  (overloaded in shallow water: C=(u +/- sqrt(gh))) * dt/dx < 1
- asserts for Lipshitz number ( |dt \partial R / \partial \psi| < const) -> ref. JCP 2009 (gas dynamics)
- asserts in 1D for non-divergent initial Corant number field
- could a param copy be made a mem member?
- multiple xdmf instances
- eps, npa domyślnie?
- jakiś throw jeśli niezgodne z rozwiązaniem analitycznym w test_shallow_water_1d
- barrier z argumentem - do debugowania!
- rename solver -> algo?
- G in velocity interpolation
- G in pressure solver
- sanity checks for members of the ct_params_class
- unify error handling (std::runtime_error?) get rid of error.hpp; (is there anything needed besides asserts... or boost.asserts?)
- should all classes be named with _t suffix?
- a check for positive-definiteness of the signal in debug mode
- output out of hooks? (or separate output hooks?)
- opts -> mpdata_opts?
- finish donorcell and leapfrog tests
- test showing difference between real_t=float and real_t=double (and real_t=long double, ...)
- doc: dependencies section (C++11, Blitz, Boost, OpenMP)
- doc: README and HACKING files
- doc: mention the difference between the order of accuracy of integration vs. order of accuracy of an approximation
- doc: references for shallow-water docs incl. Vallis, http://www.netlib.org/chammp/shallow.bib
- concurr -> rename concurr_ddecomp
- kahan sums in fct

0.1 (pre-submission / during reviews, should-be-easy enhancements or code cleanups before first release):
- svg output -> git repo?
- rename/introduce output_serial common file
- test showing usage of gcc's __float128 (rainbow?)
- pressure solvers: 
  - introduce inheritance (richardson->mr->cr->pc);
  - what if no preconditioner in pc?; 
  - reuse richardson in pc; 
  - common loop over pseudo-time
- make ctors explicit? (http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Explicit_Constructors#Explicit_Constructors)
- check if all adv/*.hpp are tested
- use this->ijk istead of this->i, this->j where it could reduce the number of methods (method_1d = method_2d)
- check at configure time what's fastest on the current machine: float vs. double, eps vs. where(), .5*(x+|x|) vs. max(x,0) and use these settings!
- handle bogus subdomain counts (e.g. 0)
- check if velocity plots with arrows are feasible with output_gnuplot - if not forget about it
- split output_gnuplot into separate files
- check if unique_ptrs used and if so if not to change to const unique_ptr"- we do not need transferability
- diagnostic stats map and output (conservativeness indicator, how to define multi-dimensional Courant number: was defined? (cf. Szmelter 2005, JCP, appendix))
- mechanism for recording stats, and:
  - record C_min, C_max
  - record div(Cx, Cy)
  - record n_iters, error in pressure solvers
- barriers() within nabla operators?
- check if some enums could not be converted into c++11 enum classes
- test showing real_t=quantity<> or real_t=mpfr [real_t=int??? :)]
- change cyclic_1d, cyclic_2d... suffixed classes into templates (as it was done with solvers)
- multi-arguent (variadic) xchng to reduce number of barrier() calls
- setup(solver, ...) methods in tests do not need to take nx, ny as arguments - these are available via solver.state().extent()


0.2: (near future enhancements, things important for the initial stages of the HARMONIA project)
- document (and check?) stability conditions for RHS terms


0.3: (not-so-near future enhancements, applicable to HARMONIA)
- MPI parallelisation (incl. remote boundary cond?)
- MPI-shared_mem setups
- shared parallelisation through UPC (Unified Parallel C???) 
- fork distmem parallelisation for testing sharedmem without MPI


0.4: (far future, not relevant to HARMONIA)
- option to parallelise the computations by equations (and not by domain decomposition)
- automated -fprofile-use and -fprofile-generate with CMake? (here's an example: http://trac.research.cc.gatech.edu/fastlab/browser/trunk/fastlib/CMakeLists.txt?rev=9455)
- option to communicate while calculating the domain interior
- reimplement the isentropic model from icicle, here're some notes from a doc TODO:
  -  explain the isopycnic/isentropic relationship
  -  explain meaning of hydrostatic model
  -  explain why isentropic -> hydrostatic & compressible
  -  explain z -> theta transition
  -  explain why Montgomery potential and how it relates the Bernouli function
  -  include a schematic picture indicating what's defined per layer, and what's defined per surface
  -  explain how the heights are retrieved from pressures (via constant-density layers)
