Difference between revisions of "Welcome to Geosciences Modeling Wiki"
Line 1: | Line 1: | ||
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Welcome to the Geosciences Modeling and Data Science Wiki.</span> |
− | == <span style="font-family: | + | == <span style="font-family:arial,helvetica,sans-serif;">Purpose:</span> == |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Provide information on software tools available for data analysis and scientific program for projects within the field of Geosciences ''in general'' and to provide users a cenral resource for keeping notes on '''UIO specific''' aspects of running various software routines. Ideally, this site will become overtime a 'go to' location where incoming students who will be working with modeling and heavy data analysis on servers can find tips for getting started.</span> |
− | == <span style="font-family: | + | == <span style="font-family:arial,helvetica,sans-serif;">Make a contribution</span> == |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Feel free to tackle something from the list of [[NeededUpdates]]. Essentially, the usefullness of this site is up to '''you'''. We are building this up as we go, but don't be shy. Your contributions are valuable. Please, if you are working on something and stumble... it's likely someone else may have the same problem eventually. Make a note here of your solution. </span> |
− | == <span style="font-family: | + | == <span style="font-family:arial,helvetica,sans-serif;">Tools and Topics</span> == |
− | === <span style="font-family: | + | === <span style="font-family:arial,helvetica,sans-serif;">Tools for [[WorkingOnServers]] at UiO.</span> === |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Processing large datasets and running models for geosciences will likely require that you work on the command line of a server and not on your laptop. It's important to learn how to do this efficiently so that you don't feel that it restricts where you can work from. In fact, it's generally the opposite. Once you learn how to use a server well, you will find it much easier to work from anywhere! All you need is an internet connection.</span> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">In this section, we cover some tips for connecting via ssh, setting up your own laptop so it is 'as if' you are working locally, and other nice tricks for staying productive in a server-based environment.</span> |
− | ==== <span style="font-family: | + | ==== <span style="font-family:arial,helvetica,sans-serif;">[[Python]]</span> ==== |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">A starting point for all-things Python. Provides information on best practices, different packages that are frequently used, and other information to make using Python at NILU easier.</span> |
− | ==== <span style="font-family: | + | ==== <span style="font-family:arial,helvetica,sans-serif;">General [[Fortran]] Tips</span> ==== |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Some general usage tips for coding in FORTRAN.</span> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">GNU and intel compilers are both available on our servers. We have a very limited number of licenses for intel compilers so we suggest you to use GNU compilers for all your development.</span> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">There is a default GNU compiler but it may be a quite old version. If you wish to use a newer version:</span> |
− | < | + | <pre><span style="font-family:arial,helvetica,sans-serif;"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"> module avail gcc |
− | </span></span></pre> | + | </span></span></span></pre> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">it returns the list of available versions.</span> |
− | < | + | <pre><span style="font-family:arial,helvetica,sans-serif;"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"> module load gcc/4.9.0 |
− | </span></span></pre> | + | </span></span></span></pre> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">It loads GNU compilers 4.9.0 (both Fortran, C and C++ compilers).</span> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;"><br/></span> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Intel compilers are available by default on our UIO servers but on abel, you would need to load it:</span> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;"><br/></span> |
− | < | + | <pre><span style="font-family:arial,helvetica,sans-serif;"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"> module load intel</span></span></span></pre> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;"><br/></span> |
− | ===== <span style="font-family: | + | ===== <span style="font-family:arial,helvetica,sans-serif;">Fortran materials</span> ===== |
− | *<span style="font-family: | + | *<span style="font-family:arial,helvetica,sans-serif;">Gunnar Wollan has compiled a set of documents at [http://folk.uio.no/gunnarw/GEO4060/ http://folk.uio.no/gunnarw/GEO4060/] and you can also find some of his documents at [http://www.uio.no/studier/emner/matnat/geofag/GEF4510/h12/index.html http://www.uio.no/studier/emner/matnat/geofag/GEF4510/h12/index.html]</span> |
− | *<span style="font-family: | + | *<span style="font-family:arial,helvetica,sans-serif;">An interesting free tutorial at [http://www.fortrantutorial.com/ http://www.fortrantutorial.com/] You can skip the installation of silverfrost compilers if you already have a Fortran compiler installed on your machine or if you are using sverdrup.uio.no</span> |
− | *<span style="font-family: | + | *<span style="font-family:arial,helvetica,sans-serif;">The National Computational Infrastructure in Australia has class notes online for a Basic Fortran course ([http://nf.nci.org.au/training/FortranBasic/ http://nf.nci.org.au/training/FortranBasic/]) and an Advanced Fortran course ([http://nf.nci.org.au/training/FortranAdvanced/ http://nf.nci.org.au/training/FortranAdvanced/]).</span> |
− | *<span style="font-family: | + | *<span style="font-family:arial,helvetica,sans-serif;">Fortran Wiki [http://fortranwiki.org/fortran/show/HomePage http://fortranwiki.org/fortran/show/HomePage]</span> |
− | ==== <span style="font-family: | + | ==== <span style="font-family:arial,helvetica,sans-serif;">Getting data from [[ECMWF]]</span> ==== |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Decriptions of how to get data in various ways from the ECMWF server.</span> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;"><br/></span> |
− | ==== <span style="font-family: | + | ==== <span style="font-family:arial,helvetica,sans-serif;">[[FLEXPART Model]]</span> ==== |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Information and resources for running and setting up FLEXPART. Mostly geared toward the ATMOS users.</span> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;"><br/></span> |
− | ==== <span style="font-family: | + | ==== <span style="font-family:arial,helvetica,sans-serif;">[[FLEXINVERT]]</span> ==== |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Bayesian inversion code for use with FLEXPART</span> |
− | ==== <span style="font-family: | + | ==== <span style="font-family:arial,helvetica,sans-serif;">[[WRFand WRF-CHEM|WRF and WRF-CHEM Models]]</span> ==== |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Information and resources for running and setting up WRF and WRF-CHEM.</span> |
− | ==== <span style="font-family: | + | ==== <span style="font-family:arial,helvetica,sans-serif;">[[OpenIFS|OpenIFS ECMWF Model]]</span> ==== |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Information and resources for running and setting up OpenIFS (ECMWF forecast model).</span> |
− | ==== <span style="font-family: | + | ==== <span style="font-family:arial,helvetica,sans-serif;">[[DataFormats|Data formats ]](netCDF, HDF4, HDF5, GRIB-1, GRIB-2, BUFR, etc.)</span> ==== |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Descriptions on how to manipulate and visualize data in these different formats.</span> |
− | ==== <span style="font-family: | + | ==== <span style="font-family:arial,helvetica,sans-serif;">[[Matlab]] (Not open source, but extensively used)</span> ==== |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Contributions from MATLAB users</span> |
− | == <span style="font-family: | + | == <span style="font-family:arial,helvetica,sans-serif;">Editing pages on the Geo-IT MediaWiki</span> == |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">A good starting place for markup reference can be found here: [http://meta.wikimedia.org/wiki/Help:Wikitext_examples http://meta.wikimedia.org/wiki/Help:Wikitext_examples]</span> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Another point is that this wiki is using Subpages, so in places you'll see reference to a <nowiki><subpages .></nowiki> tag. This just means that the list of subpages will be dynamically generated in that location.</span> |
− | ==== <span style="font-family: | + | ==== <span style="font-family:arial,helvetica,sans-serif;">Editing Source Code</span> ==== |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Note that for the purposes of documenting source code there are two important features:</span> |
− | #<span style="font-family: | + | #<span style="font-family:arial,helvetica,sans-serif;">use the <nowiki><code> ... </code></nowiki> to show some simple code snippets: <code>def foo(): return</code></span> |
− | #<span style="font-family: | + | #<span style="font-family:arial,helvetica,sans-serif;">The syntax highlighting extension has been installed, so you can wrap source code examples in <nowiki><syntaxhighlight></nowiki> tags. This is helpful for documenting a code example and supports many languages. Usage is simple. Here's an example of how to display some 'Hello World' source code examples:</span> |
− | < | + | <pre><span style="font-family:arial,helvetica,sans-serif;"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><syntaxhighlight lang='python'> |
# Hello World in Python | # Hello World in Python | ||
print("Hello World") | print("Hello World") | ||
Line 129: | Line 129: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | </span></span></pre> | + | </span></span></span></pre> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">The above code block results in:</span> |
− | <div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="python source-python"><pre class="de1"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><span class="co1"># Hello World in Python</span> | + | <div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="python source-python"><pre class="de1"><span style="font-family:arial,helvetica,sans-serif;"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><span class="co1"># Hello World in Python</span> |
− | <span class="kw1">print</span><span class="br0">(</span><span class="st0">"Hello World"</span><span class="br0">)</span></span></span></pre></div></div><div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="csharp source-csharp"><pre class="de1"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><span class="co1">//Hello World in C#</span> | + | <span class="kw1">print</span><span class="br0">(</span><span class="st0">"Hello World"</span><span class="br0">)</span></span></span></span></pre></div></div><div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="csharp source-csharp"><pre class="de1"><span style="font-family:arial,helvetica,sans-serif;"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><span class="co1">//Hello World in C#</span> |
− | </span></span></pre> | + | </span></span></span></pre> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;"><span class="kw4">class</span> HelloWorld <span class="br0">{</span></span> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;"> <span class="kw1">static</span> <span class="kw4">void</span> Main<span class="br0">(</span><span class="br0">)</span> |
<span class="br0">{</span> | <span class="br0">{</span> | ||
<span class="kw5">System</span><span class="sy0">.</span><span class="me1">Console</span><span class="sy0">.</span><span class="me1">WriteLine</span><span class="br0">(</span><span class="st0">"Hello, World!"</span><span class="br0">)</span><span class="sy0">;</span> | <span class="kw5">System</span><span class="sy0">.</span><span class="me1">Console</span><span class="sy0">.</span><span class="me1">WriteLine</span><span class="br0">(</span><span class="st0">"Hello, World!"</span><span class="br0">)</span><span class="sy0">;</span> | ||
<span class="br0">}</span> | <span class="br0">}</span> | ||
− | + | ||
+ | </span> | ||
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;"><span class="br0">}</span> C<span class="sy0">++</span></span> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Back to index</span></div></div><div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="cpp source-cpp"><pre class="de1"><span style="font-family:arial,helvetica,sans-serif;"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><span class="co1">// Hello World in C++ (pre-ISO)</span> |
− | </span></span></pre> | + | </span></span></span></pre> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;"> <span class="co2">#include <iostream.h></span> main<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span></span> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;"> <span class="kw3">cout</span> <span class="sy1"><<</span> <span class="st0">"Hello World!"</span> <span class="sy1"><<</span> endl<span class="sy4">;</span> |
<span class="kw1">return</span> <span class="nu0">0</span><span class="sy4">;</span> | <span class="kw1">return</span> <span class="nu0">0</span><span class="sy4">;</span> | ||
− | + | ||
− | <span style="font-family: | + | </span> |
− | ==== <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;"><span class="br0">}</span></span></div></div> |
+ | ==== <span style="font-family:arial,helvetica,sans-serif;">Other Resources</span> ==== | ||
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;">Consult the [http://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software. See Also:</span> |
− | *<span style="font-family: | + | *<span style="font-family:arial,helvetica,sans-serif;">[http://www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]</span> |
− | *<span style="font-family: | + | *<span style="font-family:arial,helvetica,sans-serif;">[http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]</span> |
− | *<span style="font-family: | + | *<span style="font-family:arial,helvetica,sans-serif;">[https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]</span> |
− | <span style="font-family: | + | <span style="font-family:arial,helvetica,sans-serif;"><br/>[[/Reference]]</span> |
Revision as of 10:06, 4 October 2014
Welcome to the Geosciences Modeling and Data Science Wiki.
Contents
- 1 Purpose:
- 2 Make a contribution
- 3 Tools and Topics
- 3.1 Tools for WorkingOnServers at UiO.
- 4 Editing pages on the Geo-IT MediaWiki
Purpose:
Provide information on software tools available for data analysis and scientific program for projects within the field of Geosciences in general and to provide users a cenral resource for keeping notes on UIO specific aspects of running various software routines. Ideally, this site will become overtime a 'go to' location where incoming students who will be working with modeling and heavy data analysis on servers can find tips for getting started.
Make a contribution
Feel free to tackle something from the list of NeededUpdates. Essentially, the usefullness of this site is up to you. We are building this up as we go, but don't be shy. Your contributions are valuable. Please, if you are working on something and stumble... it's likely someone else may have the same problem eventually. Make a note here of your solution.
Tools and Topics
Tools for WorkingOnServers at UiO.
Processing large datasets and running models for geosciences will likely require that you work on the command line of a server and not on your laptop. It's important to learn how to do this efficiently so that you don't feel that it restricts where you can work from. In fact, it's generally the opposite. Once you learn how to use a server well, you will find it much easier to work from anywhere! All you need is an internet connection.
In this section, we cover some tips for connecting via ssh, setting up your own laptop so it is 'as if' you are working locally, and other nice tricks for staying productive in a server-based environment.
Python
A starting point for all-things Python. Provides information on best practices, different packages that are frequently used, and other information to make using Python at NILU easier.
General Fortran Tips
Some general usage tips for coding in FORTRAN.
GNU and intel compilers are both available on our servers. We have a very limited number of licenses for intel compilers so we suggest you to use GNU compilers for all your development.
There is a default GNU compiler but it may be a quite old version. If you wish to use a newer version:
<span style="font-family:arial,helvetica,sans-serif;"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"> module avail gcc </span></span></span>
it returns the list of available versions.
<span style="font-family:arial,helvetica,sans-serif;"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"> module load gcc/4.9.0 </span></span></span>
It loads GNU compilers 4.9.0 (both Fortran, C and C++ compilers).
Intel compilers are available by default on our UIO servers but on abel, you would need to load it:
<span style="font-family:arial,helvetica,sans-serif;"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"> module load intel</span></span></span>
Fortran materials
- Gunnar Wollan has compiled a set of documents at http://folk.uio.no/gunnarw/GEO4060/ and you can also find some of his documents at http://www.uio.no/studier/emner/matnat/geofag/GEF4510/h12/index.html
- An interesting free tutorial at http://www.fortrantutorial.com/ You can skip the installation of silverfrost compilers if you already have a Fortran compiler installed on your machine or if you are using sverdrup.uio.no
- The National Computational Infrastructure in Australia has class notes online for a Basic Fortran course (http://nf.nci.org.au/training/FortranBasic/) and an Advanced Fortran course (http://nf.nci.org.au/training/FortranAdvanced/).
- Fortran Wiki http://fortranwiki.org/fortran/show/HomePage
Getting data from ECMWF
Decriptions of how to get data in various ways from the ECMWF server.
FLEXPART Model
Information and resources for running and setting up FLEXPART. Mostly geared toward the ATMOS users.
FLEXINVERT
Bayesian inversion code for use with FLEXPART
WRF and WRF-CHEM Models
Information and resources for running and setting up WRF and WRF-CHEM.
OpenIFS ECMWF Model
Information and resources for running and setting up OpenIFS (ECMWF forecast model).
Data formats (netCDF, HDF4, HDF5, GRIB-1, GRIB-2, BUFR, etc.)
Descriptions on how to manipulate and visualize data in these different formats.
Matlab (Not open source, but extensively used)
Contributions from MATLAB users
Editing pages on the Geo-IT MediaWiki
A good starting place for markup reference can be found here: http://meta.wikimedia.org/wiki/Help:Wikitext_examples
Another point is that this wiki is using Subpages, so in places you'll see reference to a <subpages .> tag. This just means that the list of subpages will be dynamically generated in that location.
Editing Source Code
Note that for the purposes of documenting source code there are two important features:
- use the <code> ... </code> to show some simple code snippets:
def foo(): return
- The syntax highlighting extension has been installed, so you can wrap source code examples in <syntaxhighlight> tags. This is helpful for documenting a code example and supports many languages. Usage is simple. Here's an example of how to display some 'Hello World' source code examples:
<span style="font-family:arial,helvetica,sans-serif;"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><syntaxhighlight lang='python'> # Hello World in Python print("Hello World") </syntaxhighlight> <syntaxhighlight lang='csharp'> //Hello World in C# class HelloWorld { static void Main() { System.Console.WriteLine("Hello, World!"); } } </syntaxhighlight> <syntaxhighlight lang='cpp'> // Hello World in C++ (pre-ISO) #include <iostream.h> main() { cout << "Hello World!" << endl; return 0; } </syntaxhighlight> </span></span></span>
The above code block results in:
<span style="font-family:arial,helvetica,sans-serif;"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><span class="co1"># Hello World in Python</span> <span class="kw1">print</span><span class="br0">(</span><span class="st0">"Hello World"</span><span class="br0">)</span></span></span></span>
<span style="font-family:arial,helvetica,sans-serif;"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><span class="co1">//Hello World in C#</span> </span></span></span>
<span class="kw4">class</span> HelloWorld <span class="br0">{</span>
static void Main()
{
System.Console.WriteLine("Hello, World!");
}
<span class="br0">}</span> C<span class="sy0">++</span>
Back to index<span style="font-family:arial,helvetica,sans-serif;"><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><span class="co1">// Hello World in C++ (pre-ISO)</span> </span></span></span>
<span class="co2">#include <iostream.h></span> main<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span>
cout << "Hello World!" << endl;
return 0;
<span class="br0">}</span>Other Resources
Consult the User's Guide for information on using the wiki software. See Also: