This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:newppl:starting [2022/11/18 10:46] jypeter Added a specific Text editors section |
other:newppl:starting [2023/04/05 13:37] jypeter [Available servers] Improved |
||
---|---|---|---|
Line 190: | Line 190: | ||
==== Available servers ==== | ==== Available servers ==== | ||
- | * **The LSCE interactive servers**: ''obelix//NN//''\\ Use ''ssh obelix'' to access these servers, and the //load balancing// system will send you to the server that has currently the smallest load. | + | * **The LSCE //gateway//**: ''ssh1.lsce.ipsl.fr'' |
- | * <wrap hi>Never forget that you are sharing these servers with other users!</wrap> | + | * Use ''ssh ssh1.lsce.ipsl.fr'' when you are **outside the LSCE wired network**, before accessing any other LSCE server: |
- | * <wrap hi>Do not use too much CPU and/or memory for a long time</wrap>. Heavy computation should be done on the [[https://intranet.lsce.ipsl.fr/informatique/en/calcul/batch.php|LSCE cluster]] | + | * By **//outside LSCE//**, we mean that your computer is: |
+ | * connected to the LSCE WiFi network (instead of the wired network) | ||
+ | * or physically outside LSCE | ||
+ | * You can also use ''ssh1'' when you are **copying files to/from outside LSCE** with ''scp'' or ssh-based tools | ||
+ | * <wrap hi>The ''ssh1'' gateway can **only** be used for copying files or accessing the LSCE interactive servers</wrap>! | ||
+ | * **You have to** connect to an ''obelix//NN//'' interactive server before doing any real work | ||
+ | |||
+ | * **The LSCE interactive servers**: ''obelix//NN//'' (''obelix2'' to ''obelix5'') | ||
+ | * Use ''ssh obelix'' to access the LSCE servers from **inside LSCE**.\\ The //load balancing// system will send you to the ''obelix//NN//'' server that has currently the smallest load. | ||
+ | * By **//inside LSCE//**, we mean that: | ||
+ | * your computer is connected to the LSCE **wired** network | ||
+ | * or you are using the [[https://intranet.lsce.ipsl.fr/informatique/fr/vpn-forticlient.php#vpnlsce|LSCE VPN]] | ||
+ | * or you have a //terminal// connected to the ''ssh1'' gateway | ||
+ | * <wrap hi>Never forget that you are **sharing** these interactive servers with other users!</wrap> | ||
+ | * <wrap hi>Do not use too much CPU and/or memory for a long time</wrap>. Heavy computation should be done on the [[https://intranet.lsce.ipsl.fr/informatique/en/calcul/batch.php|LSCE cluster]] | ||
* Learn how to [[other:newppl:starting#determining_the_load_of_a_linux_server|use the top command]] to determine the current load of a server and the CPU/memory usage of your processes ! | * Learn how to [[other:newppl:starting#determining_the_load_of_a_linux_server|use the top command]] to determine the current load of a server and the CPU/memory usage of your processes ! | ||
- | * <code>$ ssh obelix | + | * You can use one of the following commands if you want to know on which ''obelixNN'' you are |
+ | * <code>$ ssh obelix | ||
Last login: Mon Jun 3 08:49:53 2019 from somewhere | Last login: Mon Jun 3 08:49:53 2019 from somewhere | ||
- | # You can use one of the following commands if you want to know on which obelix you are | ||
$ echo $HOST | $ echo $HOST | ||
obelix5 | obelix5 | ||
Line 202: | Line 216: | ||
obelix5</code> | obelix5</code> | ||
- | * **[[https://intranet.lsce.ipsl.fr/informatique/en/calcul/batch.php|The LSCE cluster]]** (aka the //batch system//)\\ Use this cluster for really 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 | ||
- | * **The [[http://mesocentre.ipsl.fr/|IPSL/ESPRI Mesocenter servers/clusters]]** (''ciclad'' / ''climserv'' / etc...)\\ You will need an 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 that is already available on IPSL servers and that you can process there! | + | * **The [[https://documentations.ipsl.fr/spirit/|IPSL Computing and Data Center]]**, aka //Mésocentre ESPRI// (''Spirit'' / ''SpiritX'' / ''HAL'') |
- | * [[http://mesocentre.ipsl.fr/account-opening/|Requesting a new account]] | + | * Note: the ''Spirit''/''X'' clusters have replaced the ''ciclad''/''climserv'' cluster (in 2022) |
- | * [[https://documentations.ipsl.fr/MESO_User/|IPSL ESPRI Mesocenter documentation]] (//English//) | + | * 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/quick-start/|Utilisation du Mésocentre IPSL]] (//French//, the //English// documentation link above has more information) | + | * [[https://mesocentre.ipsl.fr/account-opening/|Requesting an IPSL account]] |
+ | * [[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/getting_started/support.html|Getting help]] | ||
* **The ''asterix//NN//'' servers**\\ Some wise LSCE elders may mention these servers, but they don't exist any more! | * **The ''asterix//NN//'' servers**\\ Some wise LSCE elders may mention these servers, but they don't exist any more! | ||
Line 443: | Line 461: | ||
==== Text editors ==== | ==== Text editors ==== | ||
- | <note important>A //jupyter notebook// is not a text editor! You need a correct text editor to efficiently work with scripts and programs</note> | + | <note important>A //jupyter notebook// is **not** a text editor! |
- | There are **lots** of text editors used on Linux computers/servers (vi, vim, gvim, emacs, nano, ...), that you can use: | + | **You need a correct text editor to efficiently work with scripts and programs** |
- | * in basic text terminals (if you know the basic commands and shortcuts) | + | |
- | * or in graphic mode (you may need to have an [[other:x_conf|X server configured]]) | + | {{ :other:newppl:real_programmers.png?direct&600 |}} [[https://www.explainxkcd.com/wiki/index.php/378:_Real_Programmers|xkcd & Real Programmers]]</note> |
+ | |||
+ | 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** | ||
+ | * 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! Some text editors (e.g ''nano'') fortunately display some help at the bottom of the screen | ||
+ | |||
+ | * With a **full Graphical User Interface** (aka //GUI//) allowing you to use the mouse+menus/buttons/etc... | ||
+ | * you will need to have a //local// [[other:x_conf|X server]] running, if you want to use the text editor GUI on a //remote// server | ||
=== emacs === | === emacs === | ||
- | * An annotated reference card of the ''emacs'' text editor ({{:other:newppl:emacs_jyp.pdf}}) | + | <note important>Read the **dedicated [[other:emacs_doc|Using emacs]] page**, and become a power user!</note> |
- | * JYP's .emacs file: {{:other:emacs_linux_150806.tar|for Linux}} - {{:other:emacs_win_7_64_140408.zip|for Windows}}, with [[other:win7apps#gnu_emacs_gnuwin_diffutils|emacs for Windows]] | + | |
=== vi (vim, gvim) === | === vi (vim, gvim) === | ||
Line 458: | Line 485: | ||
* [[https://www.atmos.albany.edu/daes/atmclasses/atm350/vi_cheat_sheet.pdf|vi cheat sheet]] | * [[https://www.atmos.albany.edu/daes/atmclasses/atm350/vi_cheat_sheet.pdf|vi cheat sheet]] | ||
* [[https://web.mit.edu/merolish/Public/vi-ref.pdf|vi reference card]] | * [[https://web.mit.edu/merolish/Public/vi-ref.pdf|vi reference card]] | ||
- | ==== NetCDF and file formats ==== | + | |
+ | === Notepad++ === | ||
+ | |||
+ | [[other:win10apps#notepad|Notepad++]] is a nice and powerful text editor for **Windows**, but it is also very easy to [[other:emacs_doc#windows_installation|install emacs on Windows]] | ||
+ | ==== NetCDF and related Conventions ==== | ||
+ | |||
+ | === Super-short introduction to NetCDF === | ||
* 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? | ||
Line 465: | Line 498: | ||
* The NetCDF file format is **self-documented**, and the metadata of climate data files often follows the [[http://cfconventions.org/|CF (Climate and Forecast) Metadata Conventions]] | * The NetCDF file format is **self-documented**, and the metadata of climate data files often follows the [[http://cfconventions.org/|CF (Climate and Forecast) Metadata Conventions]] | ||
* The files in the [[https://esgf-node.ipsl.upmc.fr/projects/esgf-ipsl/|CMIPn (n ≥ 5) database]] are written with the [[https://cmor.llnl.gov/|CMOR 3 library]] in order to make sure that they follow exactly the requested standards | * The files in the [[https://esgf-node.ipsl.upmc.fr/projects/esgf-ipsl/|CMIPn (n ≥ 5) database]] are written with the [[https://cmor.llnl.gov/|CMOR 3 library]] in order to make sure that they follow exactly the requested standards | ||
- | * You can use [[other:win7apps#panoply|Panoply]] and [[http://meteora.ucsd.edu/~pierce/ncview_home_page.html|ncview]] for visualizing quickly the NetCDF files | + | |
- | * [[https://code.zmaw.de/projects/cdo/wiki/Cdo#Documentation|Climate Data Operators]] for manipulating NetCDF files (and some other formats) | + | |
- | * [[http://nco.sourceforge.net/#RTFM|netCDF Operator (NCO)]] for manipulating NetCDF files | + | === Some ways of working with NetCDF without programming === |
- | * [[http://cfconventions.org/|NetCDF CF (Climate and Forecast) Metadata Conventions]]: this will help you understand the information you get when you do a ''ncdump -h some_climate_data_file.nc'' | + | |
- | * Using Python to work with NetCDF 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 |
- | * Using the [[http://uv-cdat.llnl.gov/documentation/cdms/cdms.html|cdms2]] module if you work with the [[other:python:starting#uv-cdat|UV-CDAT distribution]] | + | * ''ncdump some_climate_data_file.nc'': dump the full content to text |
- | * Using the [[http://unidata.github.io/netcdf4-python/|netCDF4]] module | + | * ''ncdump -h some_climate_data_file.nc'': only display the metadata |
+ | * 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: | ||
+ | * [[https://code.zmaw.de/projects/cdo/wiki/Cdo#Documentation|Climate Data Operators]] (''cdo'') | ||
+ | * [[http://nco.sourceforge.net/#RTFM|netCDF Operator]] (//NCO// operators) | ||
+ | |||
+ | |||
+ | === NetCDF related Conventions === | ||
+ | |||
+ | * [[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! | ||
+ | |||
+ | * [[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 | ||
+ | * [[http://sgrid.github.io/sgrid/|SGRID Conventions]] for storing staggered data on structured grids that are consistent with the UGRID conventions | ||
+ | |||
+ | === Using NetCDF with Python === | ||
+ | |||
+ | |||
+ | Check the [[other:python:jyp_steps#using_netcdf_files_with_python|dedicated section]] of the //Python// page | ||
==== Programming languages ==== | ==== Programming languages ==== |