This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
other:newppl:starting [2024/02/05 15:53] jypeter [Determining the load of a Linux server] Added M and P options |
other:newppl:starting [2025/02/04 13:39] (current) jypeter New section title, link to IDRIS |
||
---|---|---|---|
Line 34: | Line 34: | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | It's very important that you update your phone/office information when you arrive at LSCE, so that other people can find you using the tools above! | + | It's very important that you update **your** phone/office information when you arrive at LSCE, so that other people can find you using the tools above! |
</WRAP> | </WRAP> | ||
- | === Finding your phone number === | + | === Finding YOUR phone number === |
- | Use the following sequence of keys on the //Mitel// phone in your office: | + | Use the following sequence of keys on the phone in your office: |
- | - Select **MENU** (use the downward arrow) | + | - Select **MENU** (then use the downward arrow) |
- Select **PARAMETRES** (use the downward arrow) | - Select **PARAMETRES** (use the downward arrow) | ||
- Select **GENERAL** (use the downward arrow) | - Select **GENERAL** (use the downward arrow) | ||
Line 47: | Line 47: | ||
* You can be called from outside with ''01 69 08 NN NN'' | * You can be called from outside with ''01 69 08 NN NN'' | ||
- | === Updating your entry in the directory === | + | === Updating YOUR entry in the phone directory === |
- | - Find your name in the [[https://intranet.lsce.ipsl.fr/en/Phocea/Membres/Annuaire/index.php|phone directory]] | + | - Find your name in the [[https://intranet.lsce.ipsl.fr/en/Phocea/Membres/Annuaire/index.php|intranet phone directory]] |
- Click on **Modifier mes coordonnées** (in blue on the right side) | - Click on **Modifier mes coordonnées** (in blue on the right side) | ||
- Click on **Informations dans l'annuaire** and update the different fields | - Click on **Informations dans l'annuaire** and update the different fields | ||
- Click on **Envoyez votre demande** | - Click on **Envoyez votre demande** | ||
+ | - Wait (for someone to validate your request) | ||
===== The LSCE mailing lists ===== | ===== The LSCE mailing lists ===== | ||
Line 220: | Line 221: | ||
$ hostname | $ hostname | ||
obelix5</code> | obelix5</code> | ||
+ | * In a python script, you can use the following to get some information | ||
+ | * <code>>>> import os | ||
+ | >>> os.getlogin(), os.getenv('HOST') | ||
+ | ('mylogin', 'obelix5')</code> | ||
* **[[https://intranet.lsce.ipsl.fr/informatique/en/calcul/batch.php|The LSCE cluster]]** (aka the //batch system//)\\ Use this cluster for **//heavy duty// programs**, rather than killing the multi-users interactive servers | * **[[https://intranet.lsce.ipsl.fr/informatique/en/calcul/batch.php|The LSCE cluster]]** (aka the //batch system//)\\ Use this cluster for **//heavy duty// programs**, rather than killing the multi-users interactive servers | ||
* //Heavy duty// programs are programs that will prevent other users from working on the same server because these programs use a lot of CPU and/or memory for more than a few minutes. Ask your advisor, if you are not sure | * //Heavy duty// programs are programs that will prevent other users from working on the same server because these programs use a lot of CPU and/or memory for more than a few minutes. Ask your advisor, if you are not sure | ||
+ | |||
+ | * The **''JupyterHub'' notebook servers**: | ||
+ | * Read the [[other:python:starting#using_jupyterhub_servers|Using JupyterHub servers]] section of the //Working with Python// page | ||
+ | |||
* **The [[https://documentations.ipsl.fr/spirit/|IPSL Computing and Data Center]]**, aka //Mésocentre ESPRI// (''Spirit'' / ''SpiritX'' / ''HAL'') | * **The [[https://documentations.ipsl.fr/spirit/|IPSL Computing and Data Center]]**, aka //Mésocentre ESPRI// (''Spirit'' / ''SpiritX'' / ''HAL'') | ||
* Note: the ''Spirit''/''X'' clusters have replaced the ''ciclad''/''climserv'' cluster (in 2022) | * Note: the ''Spirit''/''X'' clusters have replaced the ''ciclad''/''climserv'' cluster (in 2022) | ||
* You will need a specific account (different from your //LSCE// account) to access these servers and use data files that are already available/mirrored there (e.g. **''CMIPn'' data**).\\ **Do not duplicate** at LSCE data already available on IPSL servers and that you can process there! | * You will need a specific account (different from your //LSCE// account) to access these servers and use data files that are already available/mirrored there (e.g. **''CMIPn'' data**).\\ **Do not duplicate** at LSCE data already available on IPSL servers and that you can process there! | ||
- | * [[https://mesocentre.ipsl.fr/account-opening/|Requesting an IPSL account]] | + | * [[https://documentations.ipsl.fr/spirit/getting_started/account.html|Requesting an IPSL account]] |
* [[https://documentations.ipsl.fr/spirit/|IPSL ESPRI Mesocenter documentation]] | * [[https://documentations.ipsl.fr/spirit/|IPSL ESPRI Mesocenter documentation]] | ||
* [[https://documentations.ipsl.fr/spirit/spirit_clusters/head_nodes.html|spirit clusters]] | * [[https://documentations.ipsl.fr/spirit/spirit_clusters/head_nodes.html|spirit clusters]] | ||
Line 272: | Line 281: | ||
</code> | </code> | ||
| | ||
- | The top lines give you some summary information about the system, but you should monitor the memory usage (''VIRT'' and ''RES''), ''CPU'' and ''TIME'' columns. By default, ''top'' will will put the processes using the more CPU at the top (as shown above). You can see above that the ''emacs'' text editor has clearly crashed, because it should not use 100% CPU for such a long time | + | The top lines give you some summary information about the system, but you should monitor the memory usage (''VIRT'' and ''RES''), ''CPU'' and ''TIME+'' columns. By default, ''top'' will will put the processes using the more CPU at the top (as shown above). You can see above that the ''emacs'' text editor has clearly crashed, because it should not use 100% CPU for such a long time |
+ | |||
+ | * The ''TIME+'' information is in //minutes// (e.g. ''5432:01'' means //5432 minutes and 1 second//, ''25:15.20'' means //25 minutes, 15 seconds and 20% of 1 second//) | ||
+ | |||
+ | * Memory usage: | ||
+ | * ''%MEM'' (Kb): percentage of the total available **physical memory** used by a process. This is based on ''RES'', the **non-swapped physical memory** used by a process | ||
+ | * ''VIRT'' (Kb): total amount of **virtual memory** (i.e. memory temporarily swapped/saved to disk) used by a process. It includes all code, data and shared libraries plus pages that have been swapped out and pages that have been mapped but not used | ||
+ | * The ''free'' command can display the memory usage of a server at a given time. ''available'' is an estimation of how much memory is available for starting new applications, without swapping | ||
+ | * <code> % free -ht | ||
+ | total used free shared buff/cache available | ||
+ | Mem: 62G 1.5G 56G 11M 5.0G 60G | ||
+ | Swap: 62G 1.7G 60G | ||
+ | Total: 125G 3.3G 116G</code> | ||
If you type ''M'', the processes will be sorted my memory usage, as shown below | If you type ''M'', the processes will be sorted my memory usage, as shown below | ||
Line 293: | Line 314: | ||
| **P** | Sort by CPU usage (''%CPU'' columun) (Default) | | | **P** | Sort by CPU usage (''%CPU'' columun) (Default) | | ||
+ | ==== Using the kill command to terminate processes ==== | ||
+ | |||
+ | FIXME | ||
+ | |||
+ | ''kill proc_number'' | ||
+ | |||
+ | ''kill -9 -1'' | ||
+ | |||
+ | ''qdel'' | ||
===== Which disks should you use? ===== | ===== Which disks should you use? ===== | ||
Line 398: | Line 428: | ||
...</code> | ...</code> | ||
+ | FIXME Add something about ''df'' | ||
===== Which programs should you use? ===== | ===== Which programs should you use? ===== | ||
Line 423: | Line 454: | ||
==== Using module to access optional programs ==== | ==== Using module to access optional programs ==== | ||
- | Main ''module'' options: | + | Most useful ''[[https://modules.readthedocs.io/|module]]'' options: |
* ''module list'': list the currently loaded modules | * ''module list'': list the currently loaded modules | ||
- | * ''module avail'': list the available modules | + | * ''module avail [mod_name]'': list the available modules (or only the ones with a name starting with ''mod_name'') |
* ''module load module_a ... module_n'': load modules (automatically including dependencies) | * ''module load module_a ... module_n'': load modules (automatically including dependencies) | ||
* ''module load module_a'': load default version of //module_a// | * ''module load module_a'': load default version of //module_a// | ||
Line 438: | Line 469: | ||
No Modulefiles Currently Loaded. | No Modulefiles Currently Loaded. | ||
- | > module avail | + | > module avail ncview |
- | [...] | + | ncview/2.1.7 |
- | batch_env grib_api/1.14.0 netcdf/4 python/3.6 | + | |
- | [...] | + | |
- | glost/0.3.1 ncview/2.1.7 python/2.7 | + | |
> module load ncview netcdf/4 | > module load ncview netcdf/4 | ||
Line 465: | Line 493: | ||
* Useful Linux commands for working with (potentially big) text files ({{:other:newppl:houchesa4_updated.pdf}}) | * Useful Linux commands for working with (potentially big) text files ({{:other:newppl:houchesa4_updated.pdf}}) | ||
* Using [[other:ssh|ssh]] and [[other:ssh#copying_files_with_scp|scp]] | * Using [[other:ssh|ssh]] and [[other:ssh#copying_files_with_scp|scp]] | ||
+ | |||
+ | * See also the //old// [[http://www.idris.fr/formations/utilisation-unix/unix-u-cours.html|IDRIS (advanced) Linux training]] (French tutorial) | ||
==== Text editors ==== | ==== Text editors ==== | ||
Line 475: | Line 505: | ||
There are **lots of text editors available** on Linux computers/servers (''emacs'', ''nano'', ''vi'', ''vim'', ''gvim'', ''gedit'', ...). You can use them: | There are **lots of text editors available** on Linux computers/servers (''emacs'', ''nano'', ''vi'', ''vim'', ''gvim'', ''gedit'', ...). You can use them: | ||
+ | |||
* In basic **text terminals** | * In basic **text terminals** | ||
- | * useful if you are in a hurry, and/or working on a remote server with a bad network connection or have no local [[other:x_conf|X server]] running | + | * **If you only need to read a text file**, use a //pager// like [[http://www.greenwoodsoftware.com/less|less]] (or ''more''): ''less my_text_file.txt'' |
- | * you should know the basic commands and shortcuts! Some text editors (e.g ''nano'') fortunately display some help at the bottom of the screen | + | * ''SPACE'' goes down one page |
+ | * ''b'' (//back//) goes back one page | ||
+ | * ''/STRING'' looks for ''STRING'' in the text (then ''n''ext, ''p''revious, ''q''uit) | ||
+ | * ''q'' exits | ||
+ | * **[[#gnu_nano|nano]] is probably the easiest editor in text mode** to use! | ||
+ | * Useful if you are in a hurry, and/or working on a remote server with a bad network connection or have no local [[other:x_conf|X server]] running | ||
+ | * You should know the basic commands and shortcuts! | ||
* With a **full Graphical User Interface** (aka //GUI//) allowing you to use the mouse+menus/buttons/etc... | * With a **full Graphical User Interface** (aka //GUI//) allowing you to use the mouse+menus/buttons/etc... | ||
Line 486: | Line 523: | ||
<note important>Read the **dedicated [[other:emacs_doc|Using emacs]] page**, and become a power user!</note> | <note important>Read the **dedicated [[other:emacs_doc|Using emacs]] page**, and become a power user!</note> | ||
+ | === Gnu nano === | ||
+ | <note tip>Gnu [[https://www.nano-editor.org/|nano]] is probably the easiest text editor in text mode to use!</note> | ||
+ | |||
+ | You can easily view/edit a file by just typing ''nano my_text_file.txt'' in a terminal, and looking at the instructions displayed at the bottom of the screen (e.g. ''^X Exit'' means that you can exit the editor by typing ''CTRL-X'') | ||
=== vi (vim, gvim) === | === vi (vim, gvim) === | ||
Line 501: | Line 542: | ||
* What are binary ({{:other:newppl:binaire_jyp.pdf}}) and NetCDF ({{:other:newppl:netcdf_jyp.pdf}}) files? | * What are binary ({{:other:newppl:binaire_jyp.pdf}}) and NetCDF ({{:other:newppl:netcdf_jyp.pdf}}) files? | ||
+ | * A reminder about [[other:python:misc_by_jyp#numerical_values|numerical precision]] | ||
* [[http://www.unidata.ucar.edu/software/netcdf/|Network Common Data Form (NetCDF)]] official page | * [[http://www.unidata.ucar.edu/software/netcdf/|Network Common Data Form (NetCDF)]] official page | ||
* [[http://www.unidata.ucar.edu/software/netcdf/docs/faq.html#How-many-netCDF-formats-are-there-and-what-are-the-differences-among-them|The different netCDF formats]] (and do not forget to use ''ncdump -k data.nc'' if you need to know the format) | * [[http://www.unidata.ucar.edu/software/netcdf/docs/faq.html#How-many-netCDF-formats-are-there-and-what-are-the-differences-among-them|The different netCDF formats]] (and do not forget to use ''ncdump -k data.nc'' if you need to know the format) | ||
Line 510: | Line 552: | ||
* Displaying the content of a NetCDF file in a text format\\ Check the ''ncdump'' [[https://docs.unidata.ucar.edu/nug/current/netcdf_utilities_guide.html#ncdump_guide|options]]. People usually want to quickly check the metadata, and use other programs to work with the actual data | * Displaying the content of a NetCDF file in a text format\\ Check the ''ncdump'' [[https://docs.unidata.ucar.edu/nug/current/netcdf_utilities_guide.html#ncdump_guide|options]]. People usually want to quickly check the metadata, and use other programs to work with the actual data | ||
- | * ''ncdump some_climate_data_file.nc'': dump the full content to text | + | * ''ncdump -h some_climate_data_file.nc'': only display the metadata (//h_eader// of the file) |
- | * ''ncdump -h some_climate_data_file.nc'': only display the metadata | + | * ''ncdump some_climate_data_file.nc | less'': dump the **full** content to text, and use ''less'' to display it page by page |
+ | * Maybe it is time to learn how to {{:other:newppl:houchesa4_updated.pdf|work efficiently with big text files}} | ||
* You can use [[other:win7apps#panoply|Panoply]] and [[http://meteora.ucsd.edu/~pierce/ncview_home_page.html|ncview]] for quickly visualizing NetCDF files | * You can use [[other:win7apps#panoply|Panoply]] and [[http://meteora.ucsd.edu/~pierce/ncview_home_page.html|ncview]] for quickly visualizing NetCDF files | ||
* Manipulating NetCDF files: | * Manipulating NetCDF files: | ||
* [[https://code.zmaw.de/projects/cdo/wiki/Cdo#Documentation|Climate Data Operators]] (''cdo'') | * [[https://code.zmaw.de/projects/cdo/wiki/Cdo#Documentation|Climate Data Operators]] (''cdo'') | ||
+ | * Use ''[[#using_module_to_access_optional_programs|module]] load cdo'' on the LSCE and IPSL servers | ||
* [[http://nco.sourceforge.net/#RTFM|netCDF Operator]] (//NCO// operators) | * [[http://nco.sourceforge.net/#RTFM|netCDF Operator]] (//NCO// operators) | ||
+ | * Use ''[[#using_module_to_access_optional_programs|module]] load cdo'' on the LSCE and IPSL servers | ||
=== NetCDF related Conventions === | === NetCDF related Conventions === | ||
+ | |||
+ | * [[http://cfconventions.org/|NetCDF CF (Climate and Forecast) Metadata Conventions]] | ||
* [[https://arxiv.org/abs/1911.08638|Gridspec: A standard for the description of grids used in Earth System models]] | * [[https://arxiv.org/abs/1911.08638|Gridspec: A standard for the description of grids used in Earth System models]] | ||
* A nice document for discovering the different type of (ir)regular grids used in climate models! | * A nice document for discovering the different type of (ir)regular grids used in climate models! | ||
- | * [[http://cfconventions.org/|NetCDF CF (Climate and Forecast) Metadata Conventions]] | ||
* [[https://ugrid-conventions.github.io/ugrid-conventions/|UGRID Conventions]] for storing unstructured (or flexible mesh) model data | * [[https://ugrid-conventions.github.io/ugrid-conventions/|UGRID Conventions]] for storing unstructured (or flexible mesh) model data | ||
+ | |||
* [[http://sgrid.github.io/sgrid/|SGRID Conventions]] for storing staggered data on structured grids that are consistent with the UGRID conventions | * [[http://sgrid.github.io/sgrid/|SGRID Conventions]] for storing staggered data on structured grids that are consistent with the UGRID conventions | ||
Line 532: | Line 579: | ||
Check the [[other:python:jyp_steps#using_netcdf_files_with_python|dedicated section]] of the //Python// page | Check the [[other:python:jyp_steps#using_netcdf_files_with_python|dedicated section]] of the //Python// page | ||
- | ==== Programming languages ==== | + | ==== Programming languages, parallelism, ... ==== |
* [[other:index#python_notes|JYP's Python notes]] | * [[other:index#python_notes|JYP's Python notes]] | ||
+ | * [[http://www.idris.fr/eng/formations/supports_de_cours-eng.html|IDRIS classes and tutorials]] | ||
===== Getting help (from the LSCE system administrators) ===== | ===== Getting help (from the LSCE system administrators) ===== | ||
Line 577: | Line 625: | ||
{{ :other:newppl:xnview_capture.jpg?200 |Click to get a larger version}} | {{ :other:newppl:xnview_capture.jpg?200 |Click to get a larger version}} | ||
- | ===== Getting help, when using the IPSL Mesocenter ===== | + | ===== Getting help, when using the IPSL Mesocenter (ESPRI) ===== |
- | Check the [[https://mesocentre.ipsl.fr/contacts//|Contacts]] page | + | Check the [[https://documentations.ipsl.fr/spirit/getting_started/support.html|ESPRI User Support]] page |
===== What next? ===== | ===== What next? ===== | ||