Project

General

Profile

News

Technical update of SURFEX

Added by matthieu lafaysse 10 months ago

Dear Crocus users,

Note that some technical updates have been applied to our branches of SURFEX code. They allow the compatibility of our code with Ubuntu 20.04 and replace some obsolete libraries by maintained equivalents.
Due to these modifications of libraries, after your next code update, running again the configure script will be mandatory before being able to compile the code.

Additionnaly, only for CNRM users still working on Mageia distributions, the following line has to be added in .bash_profile files:

unset GRIB_DEFINITION_PATH

This is not necessary in other cases.

Let us know in case you met any trouble due to this technical update: https://opensource.umr-cnrm.fr/projects/snowtools_git/issues/new

Thank you,
Matthieu

Change in snowtools code structure

Added by Léo Viallon-Galinier 10 months ago

Dear snowtools users,

Please note a major change in the code architecture on master branch of snowtools repository these last days:

The main snowtools code is now in a snowtools folder (in which you will find all modules you are used to import). To import a snowtools module, from snowtools itself, from an other package or from your personal code, it is now compulsory to use absolute imports. e.g. :

from snowtools.utils.prosimu import prosimu

This have been done for three main reasons:

  • It is the recommended import form in accordance with PEP8
  • The code organization is now coherent with the way it is expected by vortex (python library that use snowtools to run experiment on Meteo-France supercomputers)
  • The git repository will now contain at its root some useful files to describe the package (requirements, install instructions, README, etc.) and be in a near future directly installable with `pip` for users that are simple users (not for developers).

Impacts for you, after upgrading to the latest version:

  • You have to adapt imports in your personal codes relying on snowtools imports
  • Alias to s2m and proreader that may be defined in your ~/.bashrc or .bash_profile-like file have to point to the new location of files (note that SNOWTOOLS_CEN remains unchanged):
    alias s2m="python $SNOWTOOLS_CEN/snowtools/tasks/s2m_command.py" 
    alias proreader="python3 $SNOWTOOLS_CEN/snowtools/plots/GUI_Proreader.py"

Note that the python path does not have to be updated! If you think you need to modify your `PYTHONPATH`, please check you really have absolute imports everywhere (`from snowtools.[...] import`).

To update the code:

  • Go into the folder containing the git repository snowtools_git
  • Please check you do not have any uncommited file (with `git status` for instance).
  • Pull the latest version of the code with
    git pull
  • As git does not remove by itself folders that are no longer use, you have to delete them by hand or by doing
    git clean --force -x -d
    (check before with `git clean -n -x -d` that you do not have any personal uncommited or untracked file that would be deleted)

Despite the attention paid to required changes in code and several tests, it may remains some inconsistencies and bug linked to this change. Do not hesitate to open an issue on https://opensource.umr-cnrm.fr/projects/snowtools_git/issues.

Please also note the next major change in your timetables: python2 will not be supported in snowtools after the end of this year (2021). Please check in advance that your experiments and code run well on python3 and do not hesitate to open an issue if you encounter any problem, as snowtools is now considered to be fully working with python3.

New release in cen SURFEX branch

Added by matthieu lafaysse over 1 year ago

Dear Crocus users,

The cen branch (stable branch for Crocus users) has just been updated with numerous modifications including:

- The CrocO framework for data assimilation in Crocus with a Particle Filter: https://opensource.umr-cnrm.fr/projects/surfex_git2/wiki/CrocO_user_doc from Bertrand Cluzet

- Numerous numerical optimizations (order of loops, position of if statements, netcdf instructions, etc.) significantly improving the running times from Rafife Nheili

- Standalone version of Crocus for coupling with other numerical surface schemes: https://opensource.umr-cnrm.fr/projects/surfex_git2/wiki/Install_standalone_version_of_Crocus from Rafife Nheili

- Rewritting of microstructure prognostic variables with explicit names and removing of B92 metamorphism parameterization from Mathieu Fructus

- New functionalities of Crocus-RESORT module: https://opensource.umr-cnrm.fr/projects/surfex_git2/wiki/Crocus-RESORT from Carlo Carmagnola

- Other minor changes from various contributors

Many thanks to all contributors and to Mathieu Fructus and Rafife Nheili for the merging work and associated tests.

For standard users, only minor numerical differences are expected compared to previous version.

All branches from our group (cen cen_hotfix cen_release cen_dev) have converged today at a unique and common state before the beginning of a new cycle of developments.

There is no urge to update your code but note that we will ask all users to update their code in case of bugs in older versions.
(git pull and new compilation)

If despite all our tests, you meet troubles with this new version, please report them through the support interface: https://opensource.umr-cnrm.fr/projects/snowtools_git/issues/new

Thank you
Matthieu

New release in cen SURFEX branch

Added by matthieu lafaysse almost 4 years ago

Dear Crocus users,

The cen branch (stable branch for Crocus users) has just been updated with numerous modifications including:

- merge with all technical modifications of SURFEX v8.1 master branch : http://www.umr-cnrm.fr/surfex//spip.php?rubrique151

- merge of various new developments which can optionnally be activated :

Multiphysical system ESCROC (Ensemble System Crocus). Documentation: https://opensource.umr-cnrm.fr/projects/snowtools_git/wiki/Multiphysics
Explicit representation of impurities : https://opensource.umr-cnrm.fr/projects/snowtools_git/wiki/Explicit_representation_of_impurities
Snow management in ski resorts: https://opensource.umr-cnrm.fr/projects/snowtools_git/wiki/Crocus-RESORT
Modification of radiation corrections on explicit slopes: https://opensource.umr-cnrm.fr/projects/snowtools_git/wiki/Radiation_on_slopes
Add topographic metadata in diagnostic files: https://opensource.umr-cnrm.fr/projects/snowtools_git/wiki/Output_diagnostics
Coupling of Crocus snowpack model with Multiple Energy Balance scheme for snow-vegetation interactions (documentation not yet available)
MEPRA expert system for avalanche hazard diagnostic (documentation not yet available)
SYTRON scheme for erosion/accumulation of drifted snow in the massif geometry (documentation not yet available)

The main technical consequence for standard users is that the namelists from version 8 are no longer supported. Users must adapt their namelists from this version 8.1 example: https://opensource.umr-cnrm.fr/projects/snowtools_git/repository/revisions/master/entry/DATA/OPTIONS_V8.1_NEW_OUTPUTS_NC.nam

Note also that the results of standard applications on slopes are likely to be affected by the changes in the radiations parameterization. There was not any modification in the main snowpack scheme itself.

Note that we will ask all users to update their code in case of bugs in older versions.
(git pull and new compilation)

If despite all our tests, you meet troubles with this new version, please report them through the support interface: https://opensource.umr-cnrm.fr/projects/snowtools_git/issues/new

This new release is the result of a long work from many contributors, including a major investment of Rafife Nheili for merging.

Thank you
Matthieu

The name of SURFEX branch for Crocus has changed.

Added by matthieu lafaysse over 4 years ago

Dear Crocus users,

The main branch for Crocus users was renamed "cen" instead of the complex name "lafaysse_fromV8trunk_withmeb".

To be able to receive the next updates, all of you who installed this branch must do the following command to refer to the new remote name :

git branch lafaysse_fromV8trunk_withmeb --set-upstream origin/cen

Then, optionnally, you can also rename your local branch name for consistency with:

git branch -m lafaysse_fromV8trunk_withmeb cen

Matthieu

    (1-5/5)

    Also available in: Atom