fluidsim merge requestshttps://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests2017-09-04T06:50:40Zhttps://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/1Sync gfdyn/fluidsim to upstream2017-09-04T06:50:40ZBitbucket ImporterSync gfdyn/fluidsim to upstream*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
## Changelog ##
* ...*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
## Changelog ##
* version: 0.0.5a0 (Pull changes from fluiddyn/fluidsim to gfdyn/fluidsim and merge)
* version: 0.0.5a1 (Pull changes from gfdyn/geofluidsim to gfdyn/fluidsim and merge)
* New solver! `sw1l.exactlin.modified` a.k.a. sw1lexmod
* Normal mode decompositions for shallow water equations as a separate module `sw1l.output.normal_mode`
* New forcing types for sw1l: `potential` and `waves_vortices`
* Many bug fixes and enhancements
* More and better tests and code coverage which now activates line tracing feature for Cython modules
### Testing ###
https://travis-ci.org/ashwinvis/fluidsim
### Coverage ###
https://codecov.io/gh/ashwinvis/fluidsim/
## Commits ##
* Add default make option, PEP8 changes
* Add resume_from_path script
* Rebase attempt 1
================
Summary: Incorporated most changes in `default` branch without disturbing results.
Fixes
-----
* Issue #4, #5
* CRITICAL: Added init_from_etafft function in fluidsim/solvers/sw1l/onlywaves/state.py
* MPI support for InitFieldsVortexGrid
* Spatial Means and Spectral Energy Budget operational for sw1l subsolvers.
Enhancements
------------
* Renamed init_fft_from function to init_statefft_from in fluidsim/solvers/sw1l/state.py and added len(kwargs)==1 criterion.
* Preprocess changes. New parameter: init_fields_const and precedence changes.
* Misc. changes
Not fixed
---------
* Issue #6
* PEP8, docstring enhancements
* Rebase attempt 2
* Quick fix for project_fft_on_realX function call only for class RamdomSimplePseudoSpectral
* Add coef_normalize_strategy parameter to sw1l.forcing.Waves class. Default value first
* Make SpectralEnergyBudgetSW1LWaves the default class for sw1l.onlywaves solver
* Add PEP 440 versioning. FluidSim version included in XML files
* Fix wrong class inherited for OutputSW1LWaves
* Fix wrong class inherited (contd.) and variable names in time_signalsK.py
* Remove mpi mentions from setup.py
* Repair previous commit and add resume_from_path script
* Workaround for pending dealiasing bugfix.
* Refactor SpectralEnergyBudgetSW1L into class NormalModeBase and NormalModeDecomposition
* Add NormalModeBase to compute quadratic energies in SpectraSW1L. Pass tests.
* Make class SpectraSW1LNormalMode for plotting geo. and ageo. spectra
* Generalize SpectraSW1L plot2d function, remove cm.jet as default colour map in movies
* Improve CFL criterion for waves when there is rotation
* Minor style changes to plotting sw1l spectra and spect_energy_budget
* Try sw1l.exactlin.modified solver - untested
* Calculate forcing for sw1l solvers in spatial_means based on keys_state_fft and not solver name.
Improve spatial_means and spectra plotting.
* Compute quadratic energies in outputs of sw1l.exactlin.modified solver. Solver works but dissipation does not pick up.
* * Allow hypo + laplacian / hyper viscosity in preprocess
* Add qapamfft_from_etafft function to allow initialization from wave
* Calculate rot_fft in SW1Lexmod solver from state.compute
* Fix normalization in spect_energy_budget when forcing is zero
* Implement waves_vortices forcing, and some whitespace corrections
* Fix check for key_forced
* Implement spectral energy budget and normal mode decomposition for toy model.
* Cleanup sw1lexmod solver retaining only "toy-model-conservative" option; add tests
* Default value in preprocess should be float, not str
* Use same CFL for wave and advection
* Modification to use custom CFL
* Remove warning or error float index.
* Potential forcing: works, but too much power
* mpi4py > 2.0 cimport change mpi_c -> libmpi
* Fix a bug in qapamfft_from_etafft function
* Make SpectralEnergyBudgetMSW1L compatible with other solvers
* Change to SpectralEnergyBudgetMSW1L for sw1l.exactlin.modified solver
* Introduce new unimplemented parameter beta, compatibility fix to merge missing params
* Close branch dev
* Available tests pass, SW1Lexmod commented out since it uses another spect_energy_budg formulation
* Added tag 0.0.5a0 for changeset d3cb1a188057
* Fix some trivial bugs after merge
* All tests pass
* Branch dev to implement beta plane equations for sw1l solver
* Implement beta parameter to sw1l and sw1l.modified solvers, add error for sw1l.exactlin based solvers
* Repair preprocess and add tests
* Preprocess test
* bitbucket-pipelines.yml edited to test dev branch as well
* Generalize sw1l.state.init_fft_from function for 1 kwarg case. Add tag for TCRandom forcing class.
* Update movies module for new matplotlib version and fix merge_params
* Small bug in path var of scripts/util/resume_from_path.py
* Copy critical changes from `dev` branch.
Changelog
=========
* New parameters `time_stepping.forcing_time_scheme`, `forcing.waves.coef_normalization_strategy`
Bug fixes/workarounds
---------------------
* project real function for FFTWPY substituted
* where_dealiased properly initialized
* vortex_grid malfunction with MPI fixed
Other minor changes
* Added tag 0.0.3a2 for changeset 821f857a7858
* Update _version.py and remove old scripts
* Continue copying edits from dev: preprocess init_field_const parameter introduced, and apply forcing_time_scheme parameter in onlywaves solver.py
* Fix some function calls in SW1lmodif
* Change spect_energy_budg class for sw1l.exactlin.modified solver
* Fix bug in SpectralEnergyBudgetSW1LModified and NormalModeDecompositionModified
* vmin and vmax kwargs while plotting phys_fields
* Revert to r145 changeset 1e2b361e3f40: last merge from gfdyn/geofluidsim to fluiddyn/fluidsim
* Update version and fluiddyn requirement
* Added tag 0.0.3a2 for changeset f59c1547d8d3
* Fix preprocess test
* Tests pass
* Added tag 0.0.5a1 for changeset d1e37955be89
* Fix normal_mode for Python 3
* Fix dictionary in normal_mode module for Python 3
* Function name change init_fft_from -> init_statefft_from for consistency with base class
* Test spectral energy budget for all sw1l solvers
* More tests for sw1l output functions, esp. plot. Remove axes.hold calls to stop DeprecationWarnings
* Set mpi based skip conditions for unittests
* Even more tests for sw1l output functions
* Add energy conservation tests
* Critical bug fix: sleep for 1 second if simulations are launched at the same time and paths clash. Also fix where_is_wavenumber
* New function in preprocess.pseudo_spect module: calcul_viscosity to estimate viscosity and kolmogorov scale apriori
* More robust bug fix (hopefully), improving upon revision 69b4ebaffb6f
* Use pip caching for Bitbucket pipelines
* Improve coverage by excluding __main__ sections and including cython extensions
* Update tox deps
* build_coverage just before running tox testshttps://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/2Resolved bug function output.phys_fields.animate()2020-02-12T22:48:28ZBitbucket ImporterResolved bug function output.phys_fields.animate()*Created originally on Bitbucket by [calpe (Miguel Calpe)](https://bitbucket.org/%7B3a110e54-047d-4a20-bfc6-0f16d9ecf7a6%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
Solved bug in output....*Created originally on Bitbucket by [calpe (Miguel Calpe)](https://bitbucket.org/%7B3a110e54-047d-4a20-bfc6-0f16d9ecf7a6%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
Solved bug in output.phys_fields.animate.
===================================
- New function _select_key_field. If key_field is None, it chooses one from key_state_phys.
- If key_field is given by the user, it checks if key_field is in key_state_phys.
New variable tmin: to make video from tmin to tmax.
===========================================
make tests ok!https://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/3Better common phys_field.py2018-02-12T19:56:37ZBitbucket ImporterBetter common phys_field.py*Created originally on Bitbucket by [paugier (Pierre Augier)](https://bitbucket.org/%7Beb327c54-cadd-4fce-9edd-f8fe047a9b93%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
* debugging fluids...*Created originally on Bitbucket by [paugier (Pierre Augier)](https://bitbucket.org/%7Beb327c54-cadd-4fce-9edd-f8fe047a9b93%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
* debugging fluidsim.base.output.phys\_fields.py
* clean up fluidsim.solvers.ns2d.strat.output.phys\_fields.py
* sys.stdout.flush\(\) in base/output/phys\_fields.py
* sys.stdout.flush\(\) in base/output/print\_stdout.pyhttps://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/4deleted duplicate of ad1d (__init__.py edited online with Bitbucket)2020-02-12T22:48:30ZBitbucket Importerdeleted duplicate of ad1d (__init__.py edited online with Bitbucket)*Created originally on Bitbucket by [gdmcbain (Geordie McBain)](https://bitbucket.org/%7B503ae359-063f-40da-aa02-1b1ee1ab58cf%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
deleted duplicat...*Created originally on Bitbucket by [gdmcbain (Geordie McBain)](https://bitbucket.org/%7B503ae359-063f-40da-aa02-1b1ee1ab58cf%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
deleted duplicate of ad1d (__init__.py edited online with Bitbucket)https://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/5Investigating issue #10 - WIP2018-06-30T06:26:47ZBitbucket ImporterInvestigating issue #10 - WIP*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
https://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/6Optimize and cleanup operators2d2018-07-20T18:22:55ZBitbucket ImporterOptimize and cleanup operators2d*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
Update: no betaplane ...*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
Update: no betaplane solver in this PR.
* Add pending deprecation warnings for oper.laplacian2\_fft and oper.invlaplacian2\_fft methods. More generic methods instead. Also use faster Pythranized laplacian\_fft and invlaplacian\_fft functions for many methods in operators2d
* Change laplacian2\_fft and invlaplacian2\_fft in plate2d solver
* Operators 2d: rm unused attributes Kappa2 and f\_over\_c2Kappa2, add more useful Kappa2\_not0
* Improved fluidsim\_load magic
* `phys_fields.interact` as a separate method.https://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/7Make HDF5 mpi mode work2020-02-12T22:48:32ZBitbucket ImporterMake HDF5 mpi mode work*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Changesets for this Pull Request have not been imported, because it had been already declined on Bitbucket...*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Changesets for this Pull Request have not been imported, because it had been already declined on Bitbucket. Marked as closed by the import user.*
* Generalize state\_phys loading by using a new attribute sim.oper.axes
* Empty tuple as axes for operators0d
* Debug phys\_fields MPI write
Work in progress as usual, some commits present from enh/sphereharmo-works bookmark.https://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/8Improve structure function computation2018-09-25T08:46:16ZBitbucket ImporterImprove structure function computation*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
**WORK IN PROGRESS**....*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
**WORK IN PROGRESS**. Painfully slow, memory intensive right now. Below is the profiling of a function similar to `sim.output.increments.plot`
```python
%%prun
_rxs_str_func(sim, [2], 0, 100, 0.5, ["ux"], cache=False)
```
plot(tmin=0, tmax=100, delta_t=0.50)
plot structure functions
tmin = 0 ; tmax = 49.6035 ; delta_t = 0.501045
imin = 0 ; imax = 99 ; delta_i = 1
724205 function calls in 4.035 seconds
Ordered by: internal time
ncalls tottime percall cumtime percall filename:lineno(function)
1 1.205 1.205 3.979 3.979 increments.py:342(load_pdf_from_file)
96960 1.107 0.000 1.107 0.000 increments.py:120(compute_values_inc)
96000 0.703 0.000 0.703 0.000 {built-in method numpy.core.multiarray.interp}
504 0.306 0.001 0.417 0.001 dataset.py:399(__getitem__)
96000 0.183 0.000 1.145 0.000 function_base.py:1179(interp)
96000 0.101 0.000 0.133 0.000 type_check.py:250(iscomplexobj)
96003 0.082 0.000 0.082 0.000 {built-in method numpy.core.multiarray.array}
506 0.058 0.000 0.104 0.000 group.py:168(__getitem__)
1 0.053 0.053 0.053 0.053 {built-in method fluidsim.base.output.util_pythran.strfunc_from_pdf}
96000 0.045 0.000 0.127 0.000 numeric.py:433(asarray)
504 0.036 0.000 0.041 0.000 dataset.py:317(__init__)
2516 0.032 0.000 0.033 0.000 dataset.py:221(shape)
96002 0.031 0.000 0.031 0.000 {built-in method builtins.issubclass}
505 0.014 0.000 0.014 0.000 {method 'reduce' of 'numpy.ufunc' objects}
504 0.008 0.000 0.018 0.000 selections.py:429(_handle_simple)
504 0.007 0.000 0.008 0.000 selections.py:406(_expand_ellipsis)
508 0.006 0.000 0.006 0.000 base.py:80(is_empty_dataspace)
504 0.005 0.000 0.024 0.000 selections.py:250(__getitem__)
504 0.005 0.000 0.005 0.000 selections.py:147(__init__)
508 0.005 0.000 0.005 0.000 dataset.py:37(readtime_dtype)
508 0.004 0.000 0.004 0.000 {built-in method h5py.h5t.py_create}
504 0.004 0.000 0.037 0.000 selections.py:27(select)
504 0.003 0.000 0.003 0.000 filters.py:209(get_filters)
504 0.003 0.000 0.019 0.000 fromnumeric.py:64(_wrapreduction)
8082 0.003 0.000 0.003 0.000 {built-in method builtins.isinstance}
504 0.002 0.000 0.008 0.000 selections.py:244(__init__)
1012 0.001 0.000 0.001 0.000 {built-in method builtins.getattr}
7053 0.001 0.000 0.001 0.000 {built-in method builtins.len}
5555 0.001 0.000 0.001 0.000 base.py:236(id)
510 0.001 0.000 0.002 0.000 base.py:109(_e)
504 0.001 0.000 0.020 0.000 fromnumeric.py:2478(prod)
530 0.001 0.000 0.002 0.000 <frozen importlib._bootstrap>:416(parent)
504 0.001 0.000 0.001 0.000 selections.py:168(nselect)
512 0.001 0.000 0.001 0.000 {method 'encode' of 'str' objects}
504 0.001 0.000 0.001 0.000 selections.py:475(_translate_slice)
504 0.001 0.000 0.021 0.000 fromnumeric.py:3163(product)
530 0.001 0.000 0.001 0.000 {method 'rpartition' of 'str' objects}
4 0.001 0.000 0.001 0.000 {built-in method numpy.core.multiarray.zeros}
100 0.001 0.000 0.001 0.000 {method 'reshape' of 'numpy.ndarray' objects}
508 0.001 0.000 0.001 0.000 base.py:269(__init__)
1 0.001 0.001 0.001 0.001 {built-in method numpy.core.multiarray.arange}
504 0.001 0.000 0.001 0.000 {built-in method builtins.sum}
504 0.001 0.000 0.001 0.000 dataset.py:418(<genexpr>)
4516 0.001 0.000 0.001 0.000 {method 'append' of 'list' objects}
1008 0.000 0.000 0.001 0.000 dataset.py:419(<genexpr>)
2520 0.000 0.000 0.000 0.000 selections.py:163(shape)
1008 0.000 0.000 0.000 0.000 selections.py:267(<genexpr>)
504 0.000 0.000 0.000 0.000 {method 'indices' of 'slice' objects}
500 0.000 0.000 0.000 0.000 selections.py:462(_translate_int)
4 0.000 0.000 0.000 0.000 attrs.py:56(__getitem__)
508 0.000 0.000 0.000 0.000 selections.py:409(<genexpr>)
1 0.000 0.000 4.035 4.035 base.py:245(_rxs_str_func)
504 0.000 0.000 0.000 0.000 {method 'items' of 'dict' objects}
1008 0.000 0.000 0.000 0.000 selections.py:239(mshape)
504 0.000 0.000 0.000 0.000 selections.py:158(id)
1 0.000 0.000 0.000 0.000 files.py:321(close)
506 0.000 0.000 0.000 0.000 base.py:97(_lapl)
504 0.000 0.000 0.000 0.000 {method 'extend' of 'list' objects}
2 0.000 0.000 0.000 0.000 files.py:89(make_fapl)
2 0.000 0.000 0.000 0.000 files.py:122(make_fid)
1 0.000 0.000 4.035 4.035 <string>:2(<module>)
1 0.000 0.000 4.035 4.035 {built-in method builtins.exec}
5 0.000 0.000 0.000 0.000 socket.py:334(send)
1 0.000 0.000 0.000 0.000 files.py:334(<listcomp>)
3 0.000 0.000 0.000 0.000 {method 'format' of 'str' objects}
2 0.000 0.000 0.000 0.000 files.py:273(__init__)
5 0.000 0.000 0.000 0.000 iostream.py:195(schedule)
4 0.000 0.000 0.000 0.000 base.py:262(attrs)
1 0.000 0.000 0.000 0.000 files.py:333(<listcomp>)
1 0.000 0.000 0.000 0.000 files.py:357(__exit__)
4 0.000 0.000 0.000 0.000 {method 'argmin' of 'numpy.ndarray' objects}
4 0.000 0.000 0.000 0.000 iostream.py:382(write)
4 0.000 0.000 0.000 0.000 group.py:34(__init__)
1 0.000 0.000 0.000 0.000 _methods.py:58(_mean)
1 0.000 0.000 0.053 0.053 increments.py:324(strfunc_from_pdf)
4 0.000 0.000 0.000 0.000 <frozen importlib._bootstrap>:997(_handle_fromlist)
4 0.000 0.000 0.000 0.000 attrs.py:51(__init__)
4 0.000 0.000 0.000 0.000 fromnumeric.py:49(_wrapfunc)
2 0.000 0.000 0.000 0.000 {built-in method builtins.print}
1 0.000 0.000 0.000 0.000 {built-in method builtins.round}
2 0.000 0.000 0.000 0.000 compat.py:103(filename_encode)
1 0.000 0.000 0.000 0.000 _methods.py:48(_count_reduce_items)
4 0.000 0.000 0.000 0.000 {built-in method builtins.abs}
4 0.000 0.000 0.000 0.000 fromnumeric.py:1040(argmin)
5 0.000 0.000 0.000 0.000 {method 'acquire' of '_thread.lock' objects}
1 0.000 0.000 0.000 0.000 fromnumeric.py:2817(mean)
5 0.000 0.000 0.000 0.000 threading.py:1104(is_alive)
2 0.000 0.000 0.000 0.000 os.py:794(fsencode)
5 0.000 0.000 0.000 0.000 iostream.py:93(_event_pipe)
4 0.000 0.000 0.000 0.000 iostream.py:307(_is_master_process)
5 0.000 0.000 0.000 0.000 threading.py:1062(_wait_for_tstate_lock)
4 0.000 0.000 0.000 0.000 {built-in method posix.getpid}
4 0.000 0.000 0.000 0.000 iostream.py:320(_schedule_flush)
9 0.000 0.000 0.000 0.000 {built-in method builtins.hasattr}
5 0.000 0.000 0.000 0.000 threading.py:506(is_set)
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
4 0.000 0.000 0.000 0.000 {built-in method posix.fspath}
1 0.000 0.000 0.000 0.000 files.py:353(__enter__)
1 0.000 0.000 0.000 0.000 numeric.py:504(asanyarray)
1 0.000 0.000 0.000 0.000 {method 'keys' of 'dict' objects}
5 0.000 0.000 0.000 0.000 {method 'append' of 'collections.deque' objects}https://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/9Merged with fluiddyn/fluidsim2018-10-05T12:46:51ZBitbucket ImporterMerged with fluiddyn/fluidsim*Created originally on Bitbucket by [calpe (Miguel Calpe)](https://bitbucket.org/%7B3a110e54-047d-4a20-bfc6-0f16d9ecf7a6%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
* Find resolution fro...*Created originally on Bitbucket by [calpe (Miguel Calpe)](https://bitbucket.org/%7B3a110e54-047d-4a20-bfc6-0f16d9ecf7a6%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
* Find resolution from path.e
* Solved bug write into file results.txt.
* Make black.
* Simulation from stationarity state.
* Plot value kfx and kfz in spect\_energy\_budget.
* Fix bug name path\_run.
* Save temporal results for cluster.
* .
* Commit merge \+ scripts submit legi.
* Library argparse for fluidsim/scripts/ns2d.strat
* Add parameter cfl\_coef\_group.
* Add try to skip bugs when use load\_state\_phys\_file.
* Factor 2pi in omega\_af.
* Plot frequency spectra from a individual mode.
* Implement tmax=None in spect\_energy\_budget and spectra.
* Implement coef\_group=None in time\_stepping.
* Scripts to compute and plot buoyancy Reynolds and horizontal Froude.
* Changes scripts/ns2d.strathttps://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/10Improve forcing classes2018-10-23T12:31:20ZBitbucket ImporterImprove forcing classes*Created originally on Bitbucket by [paugier (Pierre Augier)](https://bitbucket.org/%7Beb327c54-cadd-4fce-9edd-f8fe047a9b93%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
*Source changeset ...*Created originally on Bitbucket by [paugier (Pierre Augier)](https://bitbucket.org/%7Beb327c54-cadd-4fce-9edd-f8fe047a9b93%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
*Source changeset not longer availableat the time of import. Commit listwill look empty*
https://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/11Update Dedalus benchmark script2020-02-12T22:48:36ZBitbucket ImporterUpdate Dedalus benchmark script*Created originally on Bitbucket by [kburns (Keaton Burns)](https://bitbucket.org/%7B3d3e64f1-bf12-45df-b655-4543d8fb34c4%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
This PR updates the ...*Created originally on Bitbucket by [kburns (Keaton Burns)](https://bitbucket.org/%7B3d3e64f1-bf12-45df-b655-4543d8fb34c4%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
This PR updates the bench/dedalus/ns2d\_rot\_faster.py benchmarking script with two changes:
1. The problem size is modified to correctly account for the difference between the Dedalus dealiasing method \(3/2 padding\) and that of FluidSim \(2/3 truncation\). In Dedalus, the basis “resolution” is the number of resolved/dealiased modes, rather than the grid size. For proper comparisons to codes with 512 grid points, one should use floor\(512\*2/3\)=341 modes in Dedalus, and a dealiasing factor of 512/341. For comparisons to codes with 1024 grid points, one should similarly use 682 modes in Dedalus and the same dealiasing factor.
2. The problem formulation is modified to eliminate diagnostic equations in the implicit solves during timestepping. Dedalus is limited to first-order equations with Chebyshev bases, but not with Fourier bases, so the velocities and vorticity can be defined directly in terms of the streamfunction variable using “substitution” rules, rather than defined as extra state variables and computed during the implicit solve with additional equations. This reformulation computes the same solution while substantially improving performance.https://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/12Make HDF5 mpi mode work and allow loading state_phys from files making use of...2020-02-12T22:48:41ZBitbucket ImporterMake HDF5 mpi mode work and allow loading state_phys from files making use of sim.oper.axes*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
* Generalize state\_p...*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
* Generalize state\_phys loading by using a new attribute sim.oper.axes
* Empty tuple as axes for operators0d
* Debug phys\_fields MPI write
* Absolute import to allow running as: mpirun -n 2 python fluidsim/solvers/ns2d/solver.py
* Remove debug messages
Test: `mpirun -n 2 python fluidsim/solvers/ns2d/solver.py`https://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/13debug parallel h5py write2020-02-12T22:48:42ZBitbucket Importerdebug parallel h5py write*Created originally on Bitbucket by [CyrilleBonamy (Cyrille Bonamy)](https://bitbucket.org/%7B11aec2a2-ccf6-4e7c-8b15-a76e461e42f1%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
issue #15 f...*Created originally on Bitbucket by [CyrilleBonamy (Cyrille Bonamy)](https://bitbucket.org/%7B11aec2a2-ccf6-4e7c-8b15-a76e461e42f1%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
issue #15 fixed; an old commit had broken the good behavior of parallel writing: use with h5py of mode "w" and not "r \+" to write in an existing hdf5 file\)
Ideally, we need to add some unittest for h5py in parallel, but it's a nightmare because hdf5 parallel \+ h5py parallel installation….
\+ debug 3d h5py parallel write because fluidfft update
\+ update h5py parallel install dochttps://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/14Local version using setuptools_scm2020-02-12T22:48:43ZBitbucket ImporterLocal version using setuptools_scm*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Changesets for this Pull Request have not been imported, because it had been already declined on Bitbucket...*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Changesets for this Pull Request have not been imported, because it had been already declined on Bitbucket. Marked as closed by the import user.*
The only caveat is the simulation initialization would pause briefly to get the mercurial version. Of course this feature is optional, and useful when in development, to store what the exact changeset was used in a run.https://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/15Alternative implementation for local version (pull request #14)2020-02-12T22:48:44ZBitbucket ImporterAlternative implementation for local version (pull request #14)*Created originally on Bitbucket by [paugier (Pierre Augier)](https://bitbucket.org/%7Beb327c54-cadd-4fce-9edd-f8fe047a9b93%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
*Source changeset ...*Created originally on Bitbucket by [paugier (Pierre Augier)](https://bitbucket.org/%7Beb327c54-cadd-4fce-9edd-f8fe047a9b93%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
*Source changeset not longer availableat the time of import. Commit listwill look empty*
https://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/16Implement load_for_restart + add an example2020-02-12T22:48:45ZBitbucket ImporterImplement load_for_restart + add an example*Created originally on Bitbucket by [paugier (Pierre Augier)](https://bitbucket.org/%7Beb327c54-cadd-4fce-9edd-f8fe047a9b93%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
*Source changeset ...*Created originally on Bitbucket by [paugier (Pierre Augier)](https://bitbucket.org/%7Beb327c54-cadd-4fce-9edd-f8fe047a9b93%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
*Source changeset not longer availableat the time of import. Commit listwill look empty*
A function to restart simulationshttps://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/17Params XML comment should be generated only when required and by rank 0 alone2018-10-25T14:23:53ZBitbucket ImporterParams XML comment should be generated only when required and by rank 0 alone*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
Small enhancement to ...*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
Small enhancement to calling local version when run with MPI.https://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/18Fix a bug with parallel h5py + 0d solver2018-10-25T14:21:58ZBitbucket ImporterFix a bug with parallel h5py + 0d solver*Created originally on Bitbucket by [paugier (Pierre Augier)](https://bitbucket.org/%7Beb327c54-cadd-4fce-9edd-f8fe047a9b93%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
*Source changeset ...*Created originally on Bitbucket by [paugier (Pierre Augier)](https://bitbucket.org/%7Beb327c54-cadd-4fce-9edd-f8fe047a9b93%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
*Source changeset not longer availableat the time of import. Commit listwill look empty*
https://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/19Conda environment faster to create for readthedocs2018-10-26T09:41:04ZBitbucket ImporterConda environment faster to create for readthedocs*Created originally on Bitbucket by [paugier (Pierre Augier)](https://bitbucket.org/%7Beb327c54-cadd-4fce-9edd-f8fe047a9b93%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
*Source changeset ...*Created originally on Bitbucket by [paugier (Pierre Augier)](https://bitbucket.org/%7Beb327c54-cadd-4fce-9edd-f8fe047a9b93%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
*Source changeset not longer availableat the time of import. Commit listwill look empty*
https://foss.heptapod.net/fluiddyn/fluidsim/-/merge_requests/20Calculate viscosity uses correct dissipative wavenumber2018-10-29T08:02:36ZBitbucket ImporterCalculate viscosity uses correct dissipative wavenumber*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
Fixes calcul_viscosit...*Created originally on Bitbucket by [avmo (Ashwin Vishnu)](https://bitbucket.org/%7Bbd72905e-cf99-4847-84c2-998104370f6e%7D/)*
*Was already merged in Bitbucket before import, marked as merged by the import user*
Fixes calcul_viscosity function in preprocess.pseudo_spect