From 337b981f97ad0b2437737255bd83751ce3af3c2b Mon Sep 17 00:00:00 2001 From: "Daniel.Frisinghelli" <daniel.frisinghelli@eurac.edu> Date: Fri, 2 Jul 2021 14:13:16 +0200 Subject: [PATCH] Input and Output module. --- climax/main/config.py | 20 ---------------- climax/main/downscale.py | 6 ++--- climax/main/io.py | 32 +++++++++++++++++++++++++ climax/main/preprocess/download_ERA5.py | 2 +- 4 files changed, 36 insertions(+), 24 deletions(-) create mode 100644 climax/main/io.py diff --git a/climax/main/config.py b/climax/main/config.py index e6b7e49..ae9b692 100644 --- a/climax/main/config.py +++ b/climax/main/config.py @@ -4,7 +4,6 @@ # -*- coding: utf-8 -*- # builtins -import pathlib import datetime # externals @@ -13,25 +12,6 @@ import numpy as np # locals from climax.core.constants import PREDICTANDS -# ----------------------------------------------------------------------------- -# Paths to input data --------------------------------------------------------- -# ----------------------------------------------------------------------------- - -# project root path -ROOT = pathlib.Path('/mnt/CEPH_PROJECTS/FACT_CLIMAX/') - -# path to this file -HERE = pathlib.Path(__file__).parent - -# path to ERA5 reanalysis data -ERA5_PATH = ROOT.joinpath('REANALYSIS') - -# path to OBServation data -OBS_PATH = ROOT.joinpath('OBSERVATION') - -# path to save trained models -MODEL_PATH = ROOT.joinpath('Models') - # ----------------------------------------------------------------------------- # ERA5 downscaling configuration ---------------------------------------------- # ----------------------------------------------------------------------------- diff --git a/climax/main/downscale.py b/climax/main/downscale.py index ce969d2..2f441f4 100644 --- a/climax/main/downscale.py +++ b/climax/main/downscale.py @@ -19,9 +19,9 @@ from pysegcnn.core.trainer import NetworkTrainer from pysegcnn.core.logging import log_conf from climax.core.dataset import ERA5Dataset, NetCDFDataset from climax.core.constants import ERA5_VARIABLES -from climax.main.config import (ERA5_PATH, ERA5_PLEVELS, OBS_PATH, PREDICTAND, - CALIB_PERIOD, MODEL_PATH, SHUFFLE, BATCH_SIZE, - LR, TRAIN_CONFIG) +from climax.main.config import (ERA5_PLEVELS, PREDICTAND, CALIB_PERIOD, + SHUFFLE, BATCH_SIZE, LR, TRAIN_CONFIG) +from climax.main.io import ERA5_PATH, OBS_PATH, MODEL_PATH if __name__ == '__main__': diff --git a/climax/main/io.py b/climax/main/io.py new file mode 100644 index 0000000..179375f --- /dev/null +++ b/climax/main/io.py @@ -0,0 +1,32 @@ +"""Climax input and output files.""" + +# !/usr/bin/env python +# -*- coding: utf-8 -*- + +# builtins +import pathlib + +# ----------------------------------------------------------------------------- +# Paths to input data --------------------------------------------------------- +# ----------------------------------------------------------------------------- + +# project root path +ROOT = pathlib.Path('~/FACT_CLIMAX') +ROOT = pathlib.Path('/mnt/CEPH_PROJECTS/FACT_CLIMAX/') + +# path to this file +HERE = pathlib.Path(__file__).parent + +# path to ERA5 reanalysis data +ERA5_PATH = ROOT.joinpath('REANALYSIS') + +# path to OBServation data +OBS_PATH = ROOT.joinpath('OBSERVATION') + +# path to save trained models +MODEL_PATH = ROOT.joinpath('Models') + +# create input and output paths +for path in [ERA5_PATH, OBS_PATH, MODEL_PATH]: + if not path.exists(): + path.mkdir(parents=True, exist_ok=True) diff --git a/climax/main/preprocess/download_ERA5.py b/climax/main/preprocess/download_ERA5.py index 3c8ff18..cec572d 100644 --- a/climax/main/preprocess/download_ERA5.py +++ b/climax/main/preprocess/download_ERA5.py @@ -13,7 +13,7 @@ import numpy as np # locals from climax.core.constants import ERA5_P_VARIABLES, ERA5_VARIABLES -from climax.main.config import ERA5_PATH +from climax.main.io import ERA5_PATH # pressure levels pressure_levels = ['850', '500'] -- GitLab