From feed4e7beb3bee2540c47ace7b141c29c4ea6adc Mon Sep 17 00:00:00 2001 From: "voigta80 (Aiko Voigt)" <aiko.voigt@univie.ac.at> Date: Thu, 17 Oct 2024 00:47:09 +0200 Subject: [PATCH] Adds python kernel for srvx1 and first era5 download script --- .gitignore | 1 + era5-download/era5-download.py | 49 ++++++++++++++++++++++++++++ python-kernel/setup-python-kernel.sh | 13 ++++---- 3 files changed, 57 insertions(+), 6 deletions(-) create mode 100644 .gitignore create mode 100644 era5-download/era5-download.py mode change 100644 => 100755 python-kernel/setup-python-kernel.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c0fc44d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*/.ipynb_checkpoints/ diff --git a/era5-download/era5-download.py b/era5-download/era5-download.py new file mode 100644 index 0000000..f34f017 --- /dev/null +++ b/era5-download/era5-download.py @@ -0,0 +1,49 @@ +# call with: +# /srvfs/home/avoigt/micromamba/envs/intro-comp-meteo-ex-w2024/bin/python3.10 era5-download.py + +import xarray as xr +import cdsapi + +import cdsapi + +dataset = "reanalysis-era5-single-levels" +request = { + "product_type": ["reanalysis"], + "variable": [ + "10m_u_component_of_wind", + "10m_v_component_of_wind", + "2m_temperature", + "surface_solar_radiation_downward_clear_sky", + "surface_solar_radiation_downwards" + ], + "year": ["1950"], + "month": ["01"], + "day": [ + "01", "02", "03", + "04", "05", "06", + "07", "08", "09", + "10", "11", "12", + "13", "14", "15", + "16", "17", "18", + "19", "20", "21", + "22", "23", "24", + "25", "26", "27", + "28", "29", "30", + "31" + ], + "time": [ + "00:00", "01:00", "02:00", + "03:00", "04:00", "05:00", + "06:00", "07:00", "08:00", + "09:00", "10:00", "11:00", + "12:00", "13:00", "14:00", + "15:00", "16:00", "17:00", + "18:00", "19:00", "20:00", + "21:00", "22:00", "23:00" + ], + "data_format": "netcdf", + "download_format": "unarchived" +} + +client = cdsapi.Client() +client.retrieve(dataset, request).download("/srvfs/scratch/avoigt/msc-intro-computational-meteorology-exercises-w2024/era5-1950-01.nc") \ No newline at end of file diff --git a/python-kernel/setup-python-kernel.sh b/python-kernel/setup-python-kernel.sh old mode 100644 new mode 100755 index e67826b..6d2a734 --- a/python-kernel/setup-python-kernel.sh +++ b/python-kernel/setup-python-kernel.sh @@ -1,19 +1,20 @@ +# note: +# 1. cdsapi requires cgi, which was removed from python in python3.11; I am therefore specifying a lower python version +# 2. I also found that I need to use numpy1 and not the new numpy2, which came out in summer 2024 + # move to SRV home directory cd /srvfs/home/avoigt -KNAME="intro-comp-meteo-ex-w2024" # name of pyhton kernel +KNAME="intro-comp-meteo-ex-w2024" # name of python kernel ROOTPREFIX="/srvfs/home/avoigt/micromamba" module load micromamba micromamba create -n $KNAME -r $ROOTPREFIX -micromamba install -c conda-forge -n $KNAME -r $ROOTPREFIX xarray \ pandas \ numpy \ matplotlib \ cartopy \ netcdf4 -micromamba install -c conda-forge -n $KNAME -r $ROOTPREFIX dask \ zarr -micromamba install -c conda-forge -n $KNAME -r $ROOTPREFIX cdsapi +micromamba install -c conda-forge -n $KNAME -r $ROOTPREFIX python=3.10 \ pandas \ numpy=1.26.4 \ matplotlib \ cartopy \ netcdf4 \ xarray \ dask \ zarr \ cdsapi \ ipykernel # create Jupyter kernel and make available -micromamba install -c conda-forge -n $KNAME -r $ROOTPREFIX ipykernel ${ROOTPREFIX}/envs/${KNAME}/bin/python3 -m ipykernel install --user --name=$KNAME -# export evironment setup to env.txt +# export environment setup to env.txt micromamba env export -p ${ROOTPREFIX}/envs/${KNAME}/ > env.txt -- GitLab