Difference between revisions of "Welcome to Geosciences Modeling Wiki"
Line 46: | Line 46: | ||
− | === <span style="font-family:arial,helvetica,sans-serif">[ | + | |
+ | === <span style="font-family:arial,helvetica,sans-serif">[[Access to HPC resources]]</span> === | ||
=== <span style="font-family:arial,helvetica,sans-serif">[[FLEXPART Model]]</span> === | === <span style="font-family:arial,helvetica,sans-serif">[[FLEXPART Model]]</span> === |
Revision as of 11:34, 5 January 2015
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.
- 3.2 Python
- 3.3 General Fortran Tips
- 3.4 Access to HPC resources
- 3.5 FLEXPART Model
- 3.6 FLEXINVERT
- 3.7 WRF and WRF-CHEM Models
- 3.8 OpenIFS ECMWF Model
- 3.9 Data formats (netCDF, HDF4, HDF5, GRIB-1, GRIB-2, BUFR, etc.)
- 3.10 Getting data from ECMWF
- 3.11 Matlab (Not open source, but extensively used)
- 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 give you an overview of UIO computing systems and how to set-up your environment (module package) and 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:
module avail gcc
it returns the list of available versions.
module load gcc/4.9.0
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:
module load intel
Other 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
Access to HPC resources
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.
Getting data from ECMWF
Decriptions of how to get data in various ways from the ECMWF server.
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: