Difference between revisions of "Welcome to Geosciences Modeling Wiki"

From mn/geo/geoit
Jump to: navigation, search
Line 1: Line 1:
Welcome to the Geosciences Modeling and Data Science Wiki.  
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Welcome to the Geosciences Modeling and Data Science Wiki.</span></span>
  
== Purpose: ==
+
== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Purpose:</span></span> ==
  
<span style="font-size:small;">Provide information on software tools available for data analysis and scientific program for projects within the field of Geosciences&nbsp;''in general''&nbsp;and to provide users a cenral resource for keeping notes on '''UIO specific''' aspects of running various software routines.&nbsp;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:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Provide information on software tools available for data analysis and scientific program for projects within the field of Geosciences&nbsp;''in general''&nbsp;and to provide users a cenral resource for keeping notes on '''UIO specific''' aspects of running various software routines.&nbsp;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>
  
== Make a contribution ==
+
== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Make a contribution</span></span> ==
  
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&nbsp;don't be shy. Your&nbsp;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.&nbsp;
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">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&nbsp;don't be shy. Your&nbsp;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.&nbsp;</span></span>
  
== <span style="font-size:small;">Tools and Topics</span> ==
+
== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Tools and Topics</span></span> ==
  
=== <span style="font-size:small;">Tools for [[WorkingOnServers]] at UiO.</span> ===
+
=== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Tools for [[WorkingOnServers]] at UiO.</span></span> ===
  
<span style="font-size:small;">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:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">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>
  
<span style="font-size:small;">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:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">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>
  
==== [[Python]] ====
+
==== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">[[Python]]</span></span> ====
  
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 style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">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>
  
==== General [[Fortran]] Tips ====
+
==== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">General [[Fortran]] Tips</span></span> ====
  
Some general usage tips for coding in FORTRAN.
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Some general usage tips for coding in FORTRAN.</span></span>
  
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 style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">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>
  
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:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">There is a default GNU compiler but it may be a quite old version. If you wish to use a newer version:</span></span>
<pre>          module avail gcc
+
<pre><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">          module avail gcc
</pre>
+
</span></span></pre>
it returns the list of available versions.
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">it returns the list of available versions.</span></span>
<pre>          module load gcc/4.9.0
+
<pre><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">          module load gcc/4.9.0
</pre>
+
</span></span></pre>
It loads GNU compilers 4.9.0 (both Fortran, C and C++ compilers).
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">It loads GNU compilers 4.9.0 (both Fortran, C and C++ compilers).</span></span>
  
 +
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><br/></span></span>
  
 +
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Intel compilers are available by default on our UIO servers but on abel, you would need to load it:</span></span>
  
Intel compilers are available by default on our UIO servers but on abel, you would need to load it:
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><br/></span></span>
 +
<pre><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">          module load intel</span></span></pre>
 +
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><br/></span></span>
  
 +
===== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Fortran materials</span></span> =====
  
<pre>         module load intel</pre>
+
*<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">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>
  
 +
*<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">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>
  
===== Fortran materials =====
+
*<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">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>
  
*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 style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Fortran Wiki [http://fortranwiki.org/fortran/show/HomePage http://fortranwiki.org/fortran/show/HomePage]</span></span>
  
*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 style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Getting data from [[ECMWF]]</span></span> ====
  
*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 style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Decriptions of how to get data in various ways from the ECMWF server.</span></span>
  
*Fortran Wiki [http://fortranwiki.org/fortran/show/HomePage http://fortranwiki.org/fortran/show/HomePage]
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><br/></span></span>
  
==== Getting data from [[ECMWF]] ====
+
==== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">[[FLEXPART Model]]</span></span> ====
  
Decriptions of how to get data in various ways from the ECMWF server.
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Information and resources for running and setting up FLEXPART. Mostly geared toward the ATMOS users.</span></span>
  
 +
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><br/></span></span>
  
 +
==== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">[[FLEXINVERT]]</span></span> ====
  
==== [[FLEXPART Model]] ====
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Bayesian inversion code for use with FLEXPART</span></span>
  
Information and resources for running and setting up FLEXPART. Mostly geared toward the ATMOS users.
+
==== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">[[WRFand WRF-CHEM|WRF and WRF-CHEM Models]]</span></span> ====
  
 +
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Information and resources for running and setting up WRF and WRF-CHEM.</span></span>
  
 +
==== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">[[OpenIFS|OpenIFS ECMWF Model]]</span></span> ====
  
==== [[FLEXINVERT]] ====
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Information and resources for running and setting up OpenIFS (ECMWF forecast model).</span></span>
  
Bayesian inversion code for use with FLEXPART
+
==== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">[[DataFormats|Data formats ]](netCDF, HDF4, HDF5, GRIB-1, GRIB-2, BUFR, etc.)</span></span> ====
  
==== [[WRFand WRF-CHEM|WRF and WRF-CHEM Models]] ====
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Descriptions on how to manipulate and visualize data in these different formats.</span></span>
  
Information and resources for running and setting up WRF and WRF-CHEM.
+
==== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">[[Matlab]] (Not open source, but extensively used)</span></span> ====
  
==== [[OpenIFS|OpenIFS ECMWF Model]] ====
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Contributions from MATLAB users</span></span>
  
Information and resources for running and setting up OpenIFS (ECMWF forecast model).
+
== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Editing pages on the Geo-IT MediaWiki</span></span> ==
  
==== [[DataFormats|Data formats ]](netCDF, HDF4, HDF5, GRIB-1, GRIB-2, BUFR, etc.) ====
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">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>
  
Descriptions on how to manipulate and visualize data in these different formats.
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">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>
  
==== [[Matlab]] (Not open source, but extensively used) ====
+
==== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Editing Source Code</span></span> ====
  
Contributions from MATLAB users
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Note that for the purposes of documenting source code there are two important features:</span></span>
  
== Editing pages on the Geo-IT MediaWiki ==
+
#<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">use the <nowiki><code> ... </code></nowiki> to show some simple code snippets: <code>def foo(): return</code></span></span>
 
+
#<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">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></span>
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]
+
<pre><span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><syntaxhighlight lang='python'>
 
 
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.
 
 
 
==== Editing Source Code ====
 
 
 
Note that for the purposes of documenting source code there are two important features:
 
 
 
#use the <nowiki><code> ... </code></nowiki> to show some simple code snippets: <code>def foo(): return</code>
 
#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:
 
<pre><syntaxhighlight lang='python'>
 
 
# Hello World in Python
 
# Hello World in Python
 
print("Hello World")
 
print("Hello World")
Line 129: Line 129:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
</pre>
+
</span></span></pre>
The above code block results in:
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">The above code block results in:</span></span>
<div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="python source-python"><pre class="de1"><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: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></pre></div></div><div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="csharp source-csharp"><pre class="de1"><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></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>
</pre>
+
</span></span></pre>
&lt;span class="kw4"&gt;class&lt;/span&gt; HelloWorld &lt;span class="br0"&gt;{&lt;/span&gt;
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">&lt;span class="kw4"&gt;class&lt;/span&gt; HelloWorld &lt;span class="br0"&gt;{&lt;/span&gt;</span></span>
  
    <span class="kw1">static</span> <span class="kw4">void</span> Main<span class="br0">(</span><span class="br0">)</span>
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">  <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>
  
&lt;span class="br0"&gt;}&lt;/span&gt; &nbsp; C&lt;span class="sy0"&gt;++&lt;/span&gt;
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">&lt;span class="br0"&gt;}&lt;/span&gt; &nbsp; C&lt;span class="sy0"&gt;++&lt;/span&gt;</span></span>
Back to index</div></div><div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="cpp source-cpp"><pre class="de1"><span class="co1">// Hello World in C++ (pre-ISO)</span>
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Back to index</span></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:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><span class="co1">// Hello World in C++ (pre-ISO)</span>
</pre>
+
</span></span></pre>
&nbsp; &lt;span class="co2"&gt;#include &lt;iostream.h&gt;&lt;/span&gt; &nbsp; main&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="br0"&gt;{&lt;/span&gt;
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">&nbsp; &lt;span class="co2"&gt;#include &lt;iostream.h&gt;&lt;/span&gt; &nbsp; main&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="br0"&gt;{&lt;/span&gt;</span></span>
  
    <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 style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">  <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>
&lt;span class="br0"&gt;}&lt;/span&gt;</div></div>
+
</span></span>
==== Other Resources ====
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">&lt;span class="br0"&gt;}&lt;/span&gt;</span></span></div></div>
 +
==== <span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Other Resources</span></span> ====
  
Consult the [http://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software. See Also:
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">Consult the [http://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software. See Also:</span></span>
  
*[http://www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
+
*<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">[http://www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]</span></span>
*[http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
+
*<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">[http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]</span></span>
*[https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
+
*<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">[https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]</span></span>
  
<br/>[[/Reference]]
+
<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><br/>[[/Reference]]</span></span>

Revision as of 10:05, 4 October 2014

Welcome to the Geosciences Modeling and Data Science Wiki.

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:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">          module avail gcc
</span></span>

it returns the list of available versions.

<span style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">          module load gcc/4.9.0
</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:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;">          module load intel</span></span>


Fortran materials
  • 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

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:

  1. use the <code> ... </code> to show some simple code snippets: def foo(): return
  2. 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: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>

The above code block results in:

<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 style="font-family:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><span class="co1">//Hello World in C#</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:trebuchet ms,helvetica,sans-serif;"><span style="font-size:small;"><span class="co1">// Hello World in C++ (pre-ISO)</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:


/Reference