Skip to content
Snippets Groups Projects
Commit f05cf0de authored by Michael Blaschek's avatar Michael Blaschek :bicyclist:
Browse files

added odb, bufr

parent 34b6235c
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id:f4885378-6bf9-40b2-9046-9f1efd1e32ec tags:
# Reading BUFR files
Information about BUFR at [ECMWF](https://confluence.ecmwf.int/display/UDOC/BUFR+structure+-+ecCodes+BUFR+FAQ) inside ECCODES
%% Cell type:markdown id:4579e58c-b4cf-43f4-bd31-873598a81a95 tags:
install via
`pip install --user pdbufr`
or install the newest version
`pip install --user git+https://github.com/ecmwf/pdbufr.git`
it has eccodes as dependency
%% Cell type:code id:ecf6bff7-91e7-4cfa-8d7a-509e4e4ae229 tags:
``` python
import pdbufr
```
%% Cell type:code id:4935a745-b963-4aef-a8a1-dad695f3aa71 tags:
``` python
pdbufr.__version__
```
%% Output
'0.11.0'
%% Cell type:code id:e60003da-fc6b-4a9f-a568-53bc2beed9d0 tags:
``` python
SYNOP_BUFR_FILE = '/data/boden/BUFR/2022/01/31/ISMD12_LOWM.311200'
```
%% Cell type:code id:d3032d01-bbe4-49ca-bc43-117f3defa4ab tags:
``` python
keys = ['blockNumber',
'stationNumber',
'latitude',
'longitude',
'airTemperature',
'heightOfStationGroundAboveMeanSeaLevel',
'dewpointTemperature',
'windSpeed',
'windDirection',
'WMO_station_id',
'cloudType',
]
df_all = pdbufr.read_bufr(SYNOP_BUFR_FILE, columns=keys)
```
%% Cell type:code id:27f35abe-56f7-4afd-80b5-a3f93cc87b61 tags:
``` python
display(df_all)
```
%% Output
%% Cell type:markdown id:26cd0da1-9c5f-44c6-8527-09815102c014 tags:
## Reading Radiosonde information
%% Cell type:code id:df6a645b-01d2-499d-b2fc-0fe9cd0c393c tags:
``` python
df = pdbufr.read_bufr('/data/raso/BUFR/2022/01/31/IUSD04_LOWM.310300',
columns=('stationNumber', 'data_datetime', 'pressure', 'airTemperature', 'dewpointTemperature','windDirection', 'windSpeed',
'nonCoordinateGeopotentialHeight', 'timePeriod', 'longitude', 'latitude', 'height'),
)
```
%% Cell type:code id:f98cb422-02e2-4351-91d4-b40bc208266f tags:
``` python
display(df)
```
%% Output
%% Cell type:code id:2bbdbbb8-8aa6-495a-90ac-65f434119d8a tags:
``` python
```
%% Cell type:markdown id:5baf4cdc-a640-47ac-97c9-0684c0d67055 tags:
# Read ODB files with Python
**What is ODB?**
ODB (Observation DataBase) is a file-based database-like system developed at ECMWF to store and retrieve large volumes of meteorological observational and feedback data efficiently for use within the IFS.
Currently, ODB files come in two flavours:
- ODB-1 (the original hierarchical table format capable of running in a parallel environment within IFS)
- ODB-2 (a flat format with a modern API used for archiving in MARS).
Data from ODB can be extracted using the ODB/SQL query language, which is generally a small subset of SQL with some useful extensions.
more information on ODB: [Metview - ODB](https://confluence.ecmwf.int/display/METV/ODB+Overview)
reading with Python: [PyODC](https://pyodc.readthedocs.io/en/latest/)
Library for reading ODB: [ODC](https://odc.readthedocs.io/en/latest/)
%% Cell type:markdown id:acd5d785-d591-4647-820a-ad5c86abbef6 tags:
## Using Python to read ODB files
`pip install --user pyodc`
there are two interfaces one is slow (pyodc), one is fast (codc), but requires the odc library to be installed.
%% Cell type:code id:a275a268-9e81-4cf8-9595-cd469f7b3636 tags:
``` python
!module av --no-pager odc
```
%% Output
-------- /home/swd/spack/share/spack/modules/linux-rhel8-skylake_avx512 --------
odc/1.4.5-gcc-8.5.0
%% Cell type:code id:4075b65a-726f-40cc-a893-16bd99b15518 tags:
``` python
!module show --no-pager odc
```
%% Output
-------------------------------------------------------------------
/home/swd/spack/share/spack/modules/linux-rhel8-skylake_avx512/odc/1.4.5-gcc-8.5.0:
module-whatis {ECMWF encoding and decoding of observational data in ODB2 format.}
module load eckit/1.24.4-gcc-8.5.0
conflict odc
prepend-path --delim : LIBRARY_PATH /home/swd/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/odc-1.4.5-2jkj7xe2uu672npnmxjiw2z7q5gvqvny/lib64
prepend-path --delim : LD_LIBRARY_PATH /home/swd/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/odc-1.4.5-2jkj7xe2uu672npnmxjiw2z7q5gvqvny/lib64
prepend-path --delim : CPATH /home/swd/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/odc-1.4.5-2jkj7xe2uu672npnmxjiw2z7q5gvqvny/include
prepend-path --delim : INCLUDE /home/swd/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/odc-1.4.5-2jkj7xe2uu672npnmxjiw2z7q5gvqvny/include
prepend-path --delim : PATH /home/swd/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/odc-1.4.5-2jkj7xe2uu672npnmxjiw2z7q5gvqvny/bin
prepend-path --delim : PKG_CONFIG_PATH /home/swd/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/odc-1.4.5-2jkj7xe2uu672npnmxjiw2z7q5gvqvny/lib64/pkgconfig
prepend-path --delim : CMAKE_PREFIX_PATH /home/swd/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/odc-1.4.5-2jkj7xe2uu672npnmxjiw2z7q5gvqvny/.
-------------------------------------------------------------------
%% Cell type:markdown id:49284281-1d26-42e3-8e9d-68918adce223 tags:
we need to set the environment variable `ODC_DIR` to the prefix, so that the library can be found and codc can be used.
%% Cell type:code id:4b505a3d-259e-43f4-809a-404100d6b82e tags:
``` python
%env ODC_DIR=/home/swd/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/odc-1.4.5-2jkj7xe2uu672npnmxjiw2z7q5gvqvny
```
%% Output
env: ODC_DIR=/home/swd/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/odc-1.4.5-2jkj7xe2uu672npnmxjiw2z7q5gvqvny
%% Cell type:markdown id:66e490b5-49b4-49a0-a913-d2fd7a756c6c tags:
install the package
%% Cell type:code id:65a7f8c0-e2a9-40be-9be2-28ae29a2091a tags:
``` python
!pip install --user pyodc
```
%% Output
Collecting pyodc
Downloading pyodc-1.3.0.tar.gz (28 kB)
Installing build dependencies ... [?25ldone
[?25h Getting requirements to build wheel ... [?25ldone
[?25h Preparing metadata (pyproject.toml) ... [?25ldone
[?25hRequirement already satisfied: pandas in /home/swd/manual/nwp/2023.1/lib/python3.10/site-packages (from pyodc) (1.5.3)
Requirement already satisfied: cffi in /home/swd/manual/nwp/2023.1/lib/python3.10/site-packages (from pyodc) (1.15.1)
Requirement already satisfied: pycparser in /home/swd/manual/nwp/2023.1/lib/python3.10/site-packages (from cffi->pyodc) (2.21)
Requirement already satisfied: pytz>=2020.1 in /home/swd/manual/nwp/2023.1/lib/python3.10/site-packages (from pandas->pyodc) (2022.7.1)
Requirement already satisfied: python-dateutil>=2.8.1 in /home/swd/manual/nwp/2023.1/lib/python3.10/site-packages (from pandas->pyodc) (2.8.2)
Requirement already satisfied: numpy>=1.21.0 in /home/swd/manual/nwp/2023.1/lib/python3.10/site-packages (from pandas->pyodc) (1.23.5)
Requirement already satisfied: six>=1.5 in /home/swd/manual/nwp/2023.1/lib/python3.10/site-packages (from python-dateutil>=2.8.1->pandas->pyodc) (1.16.0)
Building wheels for collected packages: pyodc
Building wheel for pyodc (pyproject.toml) ... [?25ldone
[?25h Created wheel for pyodc: filename=pyodc-1.3.0-py3-none-any.whl size=29866 sha256=a9e092f59bbe53178efcf5a95a88e4682068f9bb36e4113b529d6615fc9ce488
Stored in directory: /mnt/users/staff/mblaschek/.cache/pip/wheels/9a/08/f0/7fde07980857fb4bec365d72c929d91d7a512c903ae6847e1c
Successfully built pyodc
Installing collected packages: pyodc
Successfully installed pyodc-1.3.0
%% Cell type:code id:44d608b3-a4dc-4a5e-8ffe-8bd865dc98b2 tags:
``` python
# import
import pyodc
import codc
```
%% Cell type:markdown id:390fd1f0-9a2d-4db6-ba0c-6b76a2f5d28f tags:
reading an example file of 190MB from an Aeolus experiment.
%% Cell type:code id:0ffb5590-80a4-485b-9950-839886782c11 tags:
``` python
%%time
df_decoded = codc.read_odb('../scratch/data/Aeolus/test20201201.odb', single=True)
```
%% Output
CPU times: user 3.75 s, sys: 1.2 s, total: 4.95 s
Wall time: 3.28 s
%% Cell type:code id:4ede231c-3afc-4ac2-80fd-857a1b20771e tags:
``` python
display(df_decoded)
```
%% Output
%% Cell type:markdown id:1f9313c7-91c4-4528-bd8d-00c110eada98 tags:
this is the pure python version of reading odb files
%% Cell type:code id:4d47f510-a30c-4f0e-83f9-6a830f3904e4 tags:
``` python
%%time
df_decoded = pyodc.read_odb('../scratch/data/Aeolus/test20201201.odb', single=True)
```
%% Output
CPU times: user 1min 4s, sys: 1.79 s, total: 1min 5s
Wall time: 1min 5s
%% Cell type:markdown id:92a9e3f7-1b16-47cb-9af4-ff53699254e1 tags:
## using ODC
odc is also a [command line tool](https://odc.readthedocs.io/en/latest/content/tools.html) to query an odb file or create a subset.
You need to load the module and then you can execute a command with odc syntax.
%% Cell type:code id:005f7b1d-d77a-4dd4-9120-ffc8258f5dca tags:
``` python
%%bash
# just load the module in this cell.
module load odc
# show help
odc help
```
%% Output
Loading odc/1.4.5-gcc-8.5.0
Loading requirement: eckit/1.24.4-gcc-8.5.0
compare: Compares two ODB files
Usage:
compare [-excludeColumns <list-of-columns>] [-excludeColumnsTypes <list-of-columns>] [-dontCheckMissing] <file1.odb> <file2.odb>
count: Counts number of rows in files
Usage:
count <file.odb>
header: Shows header(s) and metadata(s) of file
Usage:
header [-offsets] [-ddl] [-table <table-name-in-the-generated-ddl>] <file-name>
import: Imports data from a text file
Usage:
import [-d delimiter] <input.file> <output.file>
delimiter can be a single character (e.g.: ',') or TAB. As a data example:
col1:INTEGER,col2:REAL
1,2.0
3,4.0
index: Creates index of reports for a given file
Usage:
index <file.odb> [<file.odb.idx>]
Specifically the index file is an ODB file with (INTEGER) columns: block_begin, block_length, seqno, n_rows
One entry is made for each unique seqno - block pair within the source ODB file.
ls: Shows file's contents
Usage:
ls [-o <output-file>] <file-name>
mdset: Creates a new file resetting types or values (constants only) of columns.
Usage:
mdset <update-list> <input.odb> <output.odb>
<update-list> is a comma separated list of expressions of the form:
<column-name> : <type> = <value>
<type> can be one of: integer, real, double, string. If ommited, the existing type of the column will not be changed.
Both type and value are optional; at least one of the two should be present. For example:
odb mdset "expver=' 0008'" input.odb patched.odb
merge: Merges rows from files
Usage:
merge -o <output-file.odb> <input1.odb> <input2.odb> ...
or
merge -S -o <output-file.odb> <input1.odb> <sql-select1> <input2.odb> <sql-select2> ...
set: Creates a new file setting columns to given values
Usage:
set <update-list> <input.odb> <output.odb>
split: Splits file according to given template
Usage:
split [-no_verification] [-maxopenfiles <N>] <input.odb> <output_template.odb>
sql: Executes SQL statement
Usage:
sql <select-statement> | <script-filename>
[-T] Disables printing of column names
[-offset <offset>] Start processing file at a given offset
[-length <length>] Process only given bytes of data
[-N] Do not write NULLs, but proper missing data values
[-i <inputfile>] ODB input file
[-o <outputfile>] ODB output file
[-f default|wide|ascii|odb] ODB output format (odb is binary ODB, ascii and wide are ascii formatted with bitfield definitions in header. Default is ascii on stdout and odb to file)
[-delimiter <delim>] Changes the default values' delimiter (TAB by default)
delim can be any character or string
[--binary|--bin] Print bitfields in binary notation
[--no_alignment] Do not align columns
[--full_precision] Print with full precision
%% Cell type:code id:96aa6e97-3439-42e3-88d0-f5de527885b7 tags:
``` python
%%bash
module load odc
# select only analysis time 0
odc sql 'select * where antime=0' -i ../scratch/data/Aeolus/test20201201.odb -f ascii | head
```
%% Output
Loading odc/1.4.5-gcc-8.5.0
Loading requirement: eckit/1.24.4-gcc-8.5.0
type expver class stream andate antime reportype restricted@hdr enda_member@desc numtsl@desc timeslot@timeslot_index seqno@hdr bufrtype@hdr subtype@hdr groupid@hdr obstype@hdr codetype@hdr sensor@hdr date@hdr time@hdr rdbdate@hdr rdbtime@hdr report_status@hdr report_event1@hdr report_rdbflag@hdr lat@hdr lon@hdr lsm@modsurf seaice@modsurf entryno@body obsvalue@body varno@body vertco_type@body vertco_reference_1@body datum_anflag@body datum_status@body datum_event1@body datum_rdbflag@body biascorr@body biascorr_fg@body qc_pge@body an_depar@body fg_depar@body obs_error@errstat final_obs_error@errstat fg_error@errstat eda_spread@errstat azimuth@sat retrtype@hdr zenith@sat range@sat arg_lat@sat t_ref@aeolus_l2b p_ref@aeolus_l2b beta@aeolus_l2b dhlos_dt@aeolus_l2b dhlos_dp@aeolus_l2b dhlos_dbeta@aeolus_l2b horiz_length@aeolus_l2b vert_length@aeolus_l2b conf_flag@aeolus_l2b
263 ' hls0' 2 1247 20201201 0 45001 0 0 25 1 1 23 251 46 15 187 NULL 20201130 210238 20201130 214455 12 2 0 -5.706610 131.284409 0.000000 0.000000 1 64.730003 187 1 5820.886719 0 12 131584 0 0.000000 0.000000 NULL 63.164753 64.002914 37.153870 37.153870 1.076056 0.976365 1.750565 210065741 0.927293 363476.000000 5.679873 NULL NULL NULL NULL NULL NULL 11243.000000 1010.000000 1
263 ' hls0' 2 1247 20201201 0 45001 0 0 25 1 2 23 251 46 15 187 NULL 20201130 210238 20201130 214455 12 2 0 -5.705090 131.276031 0.000000 0.000000 1 NULL 187 1 7051.859375 0 12 131590 0 0.000000 0.000000 NULL NULL NULL 122.078880 122.078880 1.201507 1.122098 1.750565 210065742 0.927119 364895.000000 5.679873 NULL NULL NULL NULL NULL NULL 11243.000000 1261.000000 1
263 ' hls0' 2 1247 20201201 0 45001 0 0 25 1 3 23 251 46 15 187 NULL 20201130 210238 20201130 214455 12 2 0 -5.703870 131.269333 0.000000 0.000000 1 105.169998 187 1 8552.428711 48 12 131712 0 0.000000 0.000000 NULL 94.133278 95.480774 12.658989 12.658989 1.487877 1.433541 1.750565 210065743 0.927119 366315.000000 5.679873 NULL NULL NULL NULL NULL NULL 14053.000000 1009.000000 1
263 ' hls0' 2 1247 20201201 0 45001 0 0 25 1 4 23 251 46 15 187 NULL 20201130 210238 20201130 214455 12 2 0 -5.702960 131.264297 0.000000 0.000000 1 0.770000 187 1 9995.666016 0 12 131584 0 0.000000 0.000000 NULL -17.179775 -16.547409 9.256155 9.256155 1.853304 1.855463 1.750565 210065744 0.926944 367419.000000 5.679873 NULL NULL NULL NULL NULL NULL 14053.000000 757.000000 1
263 ' hls0' 2 1247 20201201 0 45001 0 0 25 1 5 23 251 46 15 187 NULL 20201130 210238 20201130 214455 12 2 0 -5.702040 131.259262 0.000000 0.000000 1 16.790001 187 1 11442.984375 0 12 131584 0 0.000000 0.000000 NULL -3.046090 -1.749628 5.420001 5.420001 1.909041 1.867477 1.750565 210065745 0.926944 368365.000000 5.679873 NULL NULL NULL NULL NULL NULL 8432.000000 757.000000 1
263 ' hls0' 2 1247 20201201 0 45001 0 0 25 1 6 23 251 46 15 187 NULL 20201130 210238 20201130 214455 12 2 0 -5.701120 131.254227 0.000000 0.000000 1 15.060000 187 1 13047.831055 0 12 131584 0 0.000000 0.000000 NULL -1.049524 0.238602 7.846665 7.846665 1.912062 1.824771 1.750565 210065746 0.926770 369311.000000 5.679873 NULL NULL NULL NULL NULL NULL 2811.000000 757.000000 1
263 ' hls0' 2 1247 20201201 0 45001 0 0 25 1 7 23 251 46 15 187 NULL 20201130 210238 20201130 214455 12 2 0 -5.723190 131.234482 0.000000 0.000000 1 -2.730000 187 1 18914.039062 0 12 131584 0 0.000000 0.000000 NULL -11.962290 -11.183959 24.755920 24.755920 1.733299 1.617335 1.750565 210065747 0.926595 372150.000000 5.679873 NULL NULL NULL NULL NULL NULL 8431.000000 757.000000 1
263 ' hls0' 2 1247 20201201 0 45001 0 0 25 1 8 23 251 46 15 187 NULL 20201130 210238 20201130 214455 12 2 0 -5.697460 131.234085 0.000000 0.000000 1 10.090000 187 1 21243.236328 0 12 131584 0 0.000000 0.000000 NULL 1.059619 2.259655 8.975661 8.975661 1.543846 1.432204 1.750565 210065748 0.926421 373096.000000 5.679873 NULL NULL NULL NULL NULL NULL 8432.000000 757.000000 0
263 ' hls0' 2 1247 20201201 0 45001 0 0 25 1 9 23 251 46 15 187 NULL 20201130 210238 20201130 214455 12 2 0 -5.721360 131.224396 0.000000 0.000000 1 25.500000 187 1 23785.876953 0 12 131584 0 0.000000 0.000000 NULL 18.075672 19.681799 11.561797 11.561797 1.464802 1.366932 1.750565 210065749 0.926421 374042.000000 5.679873 NULL NULL NULL NULL NULL NULL 2811.000000 757.000000 1
%% Cell type:code id:48ec9e3c-eb5f-45bb-bc9c-988621ea5996 tags:
``` python
```
...@@ -135,6 +135,16 @@ You just need to add a configuration option and then you can open the Dashboard ...@@ -135,6 +135,16 @@ You just need to add a configuration option and then you can open the Dashboard
If you need to get a better understanding of you functions memory and execution time, try these profiling options. If you need to get a better understanding of you functions memory and execution time, try these profiling options.
## Q: How to read BUFR files with python?
[BUFR](QA-010-Reading-Bufr-Synop.ipynb)
ECMWF created a python package that helps to read BUFR messages via ECCODES into pandas DataFrame.
## Q: How to read ODB files with python?
[ODB](QA-011-Reading-ODB.ipynb)
ECMWF created a python package that helps to read ODB messages via ODC or pure Python into pandas DataFrame.
## Q: How to ignore user site packages? ## Q: How to ignore user site packages?
......
import eccodes
import pdbufr
keys = ['blockNumber',
'stationNumber',
'latitude',
'longitude',
'airTemperature',
'dewpointTemperature',
'windSpeed',
'windDirection',
]
df = pdbufr.read_bufr('ISMD22_LOWM.010000', columns=keys)
\ No newline at end of file
...@@ -77,7 +77,7 @@ Host a?-* a??-* hpc-* hpc2020-* ecs-* ...@@ -77,7 +77,7 @@ Host a?-* a??-* hpc-* hpc2020-* ecs-*
and replacing `[USERNAME]` and `[u:account USERNAME]` with your usernames. Using such a file allows to connect like this `ssh srvx1` using the correct server adress and specified username. Copy this file as well on `login.univie.ac.at` and you can use commands like this: `ssh -t login ssh jet` to connect directly to `jet` via the `login` gateway. and replacing `[USERNAME]` and `[u:account USERNAME]` with your usernames. Using such a file allows to connect like this `ssh srvx1` using the correct server adress and specified username. Copy this file as well on `login.univie.ac.at` and you can use commands like this: `ssh -t login ssh jet` to connect directly to `jet` via the `login` gateway.
Please note the special algorithms for ecaccess and of course ECMWF uses [teleport](../ECMWF.md#connecting-to-ecmwf-services) now. Please note the special algorithms for ecaccess and of course ECMWF uses [teleport](../ECMWF/README.md#connecting-to-ecmwf-services) now.
**From eduroam**: You should be able to log in as above. **From eduroam**: You should be able to log in as above.
......
...@@ -10,7 +10,7 @@ Steps: ...@@ -10,7 +10,7 @@ Steps:
1. Request access / will be done for you by your supervisor. 1. Request access / will be done for you by your supervisor.
2. As Staff, access using SSH - [How to SSH / VNC / VPN](../SSH-VPN-VNC/README.md) 2. As Staff, access using SSH - [How to SSH / VNC / VPN](../SSH-VPN-VNC/README.md)
3. As Student, access using Teaching Hub - [How to connect using the TeachingHub](../TeachingHub.md) 3. As Student, access using Teaching Hub - [How to connect using the TeachingHub](../Students/TeachingHub.md)
## System information ## System information
| Name | Value | | Name | Value |
...@@ -39,7 +39,7 @@ Steps: ...@@ -39,7 +39,7 @@ Steps:
## Jupyterhub ## Jupyterhub
<img src="../mkdocs/img/jupyterhub-logo.svg" width="150px"> <img src="../mkdocs/img/jupyterhub-logo.svg" width="150px">
SRVX1 serves a teaching [jupyterhub](https://jupyterhub.readthedocs.io/en/stable/) with a [jupyterlab](https://jupyterlab.readthedocs.io/en/stable/). It allows easy access for students and teachers. Access: [https://srvx1.img.univie.ac.at/hub](https://srvx1.img.univie.ac.at/hub) SRVX1 serves a teaching [jupyterhub](https://jupyterhub.readthedocs.io/en/stable/) with a [jupyterlab](https://jupyterlab.readthedocs.io/en/stable/). It allows easy access for students and teachers. Access: [https://teachinghub.wolke.img.univie.ac.at](https://teachinghub.wolke.img.univie.ac.at)
Signup is only granted by teachers and requires a srvx1 user account. A new password is needed and a TOTP (time base one-time password) will be created. Signup is only granted by teachers and requires a srvx1 user account. A new password is needed and a TOTP (time base one-time password) will be created.
......
...@@ -5,20 +5,36 @@ To make you life easier we have listed a few things here that you should know to ...@@ -5,20 +5,36 @@ To make you life easier we have listed a few things here that you should know to
???+ warning "since winter semester 2023" ???+ warning "since winter semester 2023"
There is the [old teachinghub](./TeachingHub.md) (will retire 31.3.2024) and the new teachinghub, which is handled via Moodle. Your lecturerer will give you access. There is the [old teachinghub](./TeachingHub.md) (will retire 31.3.2024) and the new teachinghub, which is handled via Moodle. Your lecturerer will give you access.
## Guidelines
Access to computational resources at IMGW is granted to the user by employment at the university or by a IMGW sponsor. Access is disabled on the termination date without further notice. An extension of the allocation may be negotiated with the responsible Admin or IMGW sponsor. The user accepts the following responsibilities:
- Computers and information systems must be used in an ethical and legal manner.
- The user agrees not to duplicate or use copyrighted or proprietary software without proper authorization.
- The user may not use computers and information systems in any manner for any business, professional, or other activity that is unrelated to the purpose of the resource allocation.
- The user is required to acknowledge the use of IMGW resources in any resulting publications.
- The user is responsible for protecting her/his access credentials and/or passwords.
- The user may not share her/his account privileges with anyone or knowingly permit any unauthorized access to a computer, computer privileges, systems, networks, or programs. The accounts of those involved will be disabled if sharing is detected.
- The user is responsible for backing up critical data to protect it against loss or corruption. The user is also responsible for understanding the usage and data retention policies for the file system and data archive resources used.
- The user agrees to report potential security breaches as soon as possible to the responsible Admin or IMGW sponsor.
- The user is responsible for ensuring that IMGW has her/his current contact information, including phone number, email address, and mailing address. If the user’s name, phone number, email address, or other information changes, the responsible Admin or IMGW sponsor must be promptly notified.
## Master Students ## Master Students
Great idea to start a master @ IMGW. Your supervisor will ask for an account for you and you will retrieve login credentials. Great idea to start a master @ IMGW. Your supervisor will request a server account and you will retrieve login credentials. Please take a look at the [guidelines](#guidelines) above and acknowledge them.
There are three options: As an employee or master student you can get access to these resources:
- access to [SRVX1](../Servers/SRVX1.md) - access to [SRVX1](../Servers/SRVX1.md)
- access to [JET](../Servers/JET.md) - access to [JET](../Servers/JET.md)
- access to [VSC](../VSC.md) - access to [VSC](../VSC.md)
- acccess to [ECMWF](../ECMWF/README.md)
Most people at the department use [gitlab](https://gitlab.phaidra.org) and [mattermost](https://discuss.phaidra.org), which your supervisor can arange for you to get an account. Most people at the department use [gitlab](https://gitlab.phaidra.org) and [mattermost](https://discuss.phaidra.org), which your supervisor can arange for you to get an account.
It might be useful to familiarize yourself with [git](../Git/README.md) It might be useful to familiarize yourself with [git](../Git/README.md) and create a project dedicated to your master thesis on gitlab. Your supervisor can help you. Writing your thesis can be fascilitated by using [Overleaf](https://www.overleaf.de) and a [template](https://www.overleaf.com/read/ptpskhdqmqpt#566d55). As student at the University of Vienna, you can login with your u:account.
More template from our department can be found [here (wiki)](https://wiki.univie.ac.at/x/VBURC)
## Useful links ## Useful links
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment