diff --git a/.gitignore b/.gitignore index fa7aa44..ca45a16 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ mie.ipynb *.csv _oem_real_test/ +.DS_Store # Byte-compiled / optimized / DLL files __pycache__/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..754593d --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "artist/icontoolbox"] + path = artist/icontoolbox + url = https://github.com/tppcc/icontoolbox.git diff --git a/artist/__init__.py b/artist/__init__.py index 37f4fc1..da10978 100644 --- a/artist/__init__.py +++ b/artist/__init__.py @@ -1,2 +1,3 @@ -from .__plot import PlotAccessor -from .accessor import IconAccessor, GridAccessor, OemAccessor, ArtDatasetAccessor, ArtAccessor +from .utils import PlotAccessor +from .accessor import IconAccessor, GridAccessor +from .preprocessing import IFS4ICON \ No newline at end of file diff --git a/artist/icontoolbox b/artist/icontoolbox new file mode 160000 index 0000000..a47dd15 --- /dev/null +++ b/artist/icontoolbox @@ -0,0 +1 @@ +Subproject commit a47dd1544a4ee50d8a4b872eb3663a857c9ec902 diff --git a/artist/preprocessing.py b/artist/preprocessing.py new file mode 100644 index 0000000..470b79e --- /dev/null +++ b/artist/preprocessing.py @@ -0,0 +1,45 @@ +import icontoolbox as ic +import os +import xarray as xr + +""" +Wrapper for icontoolbox submodule +Author: Cornelius Tai + + +""" + + +def IFS4ICON( + init_date, + remap_nml=None, + output_grid=None, + output_path=None, + config_yaml=None, + iconremap_bin="/home/b/b382290/vol_work/icon_tools/dwd_icon_tools/icontools/iconremap", +): + """ + Wrapper function of icontoolbox.IFS4ICON(), which is shipped with this package as submodule. It is a 1 stop solution to prepare for ICON initialisation using IFS data (initicon_nml::init_mode = 2). + This function is designed to be used on levante, where a subset of ERA5 renalysis is stored. 3 additional variables are downloaded via the cdsapi, see: https://cds.climate.copernicus.eu/how-to-api for detailed setup of the cdsapi. + Requirements: + - cdsapi + - cdo (Climate Data Operator) + + Input: + init_date (str) : date of the reanalysis, format YYYY-MM-DD + remap_nml (list, str) : List of paths to Namelist files for iconremap tool, format [NAMELIST_REMAP, NAMELIST_INPUT_FIELD], default: None -> namelist will be constructed based on parameters passed + output_grid (str) : path to destination ICON grid file + output_path (str) : path to the directory where the output files will be stored, default: None -> os.getcwd() + config_yaml (str) : path to the configuration YAML file for Namelist construction, default: None -> use default configuration + iconremap_bin (str) : path to the iconremap binary, default: /home/b/b382290/vol_work/icon_tools/dwd_icon_tools/icontools/iconremap + """ + + return ic.IFS4ICON( + init_date=init_date, + remap_nml=remap_nml, + output_grid=output_grid, + output_path=output_path, + config_yaml=config_yaml, + iconremap_bin=iconremap_bin, + ) +