{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 🏷️ Custom filename on download\n", "\n", "By default, Herbie uses files original name when it is download, but it is possible to give the file a custom name." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from herbie.core import Herbie" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "✅ Found ┊ model=hrrr ┊ \u001b[3mproduct=sfc\u001b[0m ┊ \u001b[38;2;41;130;13m2021-Jan-01 00:00 UTC\u001b[92m F06\u001b[0m ┊ \u001b[38;2;255;153;0m\u001b[3mGRIB2 @ aws\u001b[0m ┊ \u001b[38;2;255;153;0m\u001b[3mIDX @ aws\u001b[0m\n" ] } ], "source": [ "H = Herbie(\"2021-01-01\", model=\"hrrr\", product=\"sfc\", fxx=6)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'hrrr.t00z.wrfsfcf06.grib2'" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "H.get_localFileName" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "PosixPath('/home/blaylock/data/hrrr/20210101/hrrr.t00z.wrfsfcf06.grib2')" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "H.get_localFilePath()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "H.LOCALFILE = \"custom_name.grib2\"" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "PosixPath('/home/blaylock/data/hrrr/20210101/custom_name.grib2')" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "H.get_localFilePath()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "👨🏻‍🏭 Created directory: [/home/blaylock/data/hrrr/20210101]\n" ] }, { "data": { "text/plain": [ "PosixPath('/home/blaylock/data/hrrr/20210101/custom_name.grib2')" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "H.download()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It may be more useful to give the file a more descriptive name based on the file's attributes" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "✅ Found ┊ model=hrrr ┊ \u001b[3mproduct=sfc\u001b[0m ┊ \u001b[38;2;41;130;13m2021-Jan-01 00:00 UTC\u001b[92m F06\u001b[0m ┊ \u001b[38;2;255;153;0m\u001b[3mGRIB2 @ aws\u001b[0m ┊ \u001b[38;2;255;153;0m\u001b[3mIDX @ aws\u001b[0m\n", "✅ Success! Downloaded HRRR from \u001b[38;5;202maws \u001b[0m\n", "\tsrc: https://noaa-hrrr-bdp-pds.s3.amazonaws.com/hrrr.20210101/conus/hrrr.t00z.wrfsfcf06.grib2\n", "\tdst: /home/blaylock/data/hrrr/20210101/model_HRRR_2021010100_F06_valid_2021010106.grib2\n" ] }, { "data": { "text/plain": [ "PosixPath('/home/blaylock/data/hrrr/20210101/model_HRRR_2021010100_F06_valid_2021010106.grib2')" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "H = Herbie(\"2021-01-01\", model=\"hrrr\", product=\"sfc\", fxx=6)\n", "H.LOCALFILE = f\"model_{H.model.upper()}_{H.date:%Y%m%d%H}_F{H.fxx:02d}_valid_{H.valid_date:%Y%m%d%H}.grib2\"\n", "H.download(verbose=True)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "✅ Found ┊ model=hrrr ┊ \u001b[3mproduct=sfc\u001b[0m ┊ \u001b[38;2;41;130;13m2021-Jan-01 00:00 UTC\u001b[92m F06\u001b[0m ┊ \u001b[38;2;255;153;0m\u001b[3mGRIB2 @ aws\u001b[0m ┊ \u001b[38;2;255;153;0m\u001b[3mIDX @ aws\u001b[0m\n", "📇 Download subset: \u001b[48;2;255;255;255m\u001b[38;2;136;33;27m▌\u001b[0m\u001b[38;2;12;53;118m\u001b[48;2;240;234;210m▌\u001b[38;2;0;0;0m\u001b[1mHerbie\u001b[0m HRRR model \u001b[3msfc\u001b[0m product initialized \u001b[38;2;41;130;13m2021-Jan-01 00:00 UTC\u001b[92m F06\u001b[0m ┊ \u001b[38;2;255;153;0m\u001b[3msource=aws\u001b[0m \n", " cURL from https://noaa-hrrr-bdp-pds.s3.amazonaws.com/hrrr.20210101/conus/hrrr.t00z.wrfsfcf06.grib2\n", "Found \u001b[1m\u001b[38;2;41;130;13m1\u001b[0m grib messages.\n", "Download subset group 1\n", " 71 \u001b[38;2;255;153;0m:TMP:2 m above ground:6 hour fcst\u001b[0m\n", "curl -s --range 48792552-50016187 \"https://noaa-hrrr-bdp-pds.s3.amazonaws.com/hrrr.20210101/conus/hrrr.t00z.wrfsfcf06.grib2\" > \"/home/blaylock/data/hrrr/20210101/subset_abb2fd54__model_HRRR_2021010100_F06_valid_2021010106.grib2\"\n", "💾 Saved the subset to /home/blaylock/data/hrrr/20210101/subset_abb2fd54__model_HRRR_2021010100_F06_valid_2021010106.grib2\n" ] }, { "data": { "text/plain": [ "PosixPath('/home/blaylock/data/hrrr/20210101/subset_abb2fd54__model_HRRR_2021010100_F06_valid_2021010106.grib2')" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "H = Herbie(\"2021-01-01\", model=\"hrrr\", product=\"sfc\", fxx=6)\n", "H.LOCALFILE = f\"model_{H.model.upper()}_{H.date:%Y%m%d%H}_F{H.fxx:02d}_valid_{H.valid_date:%Y%m%d%H}.grib2\"\n", "H.download(\"TMP:2 m\", verbose=True)" ] } ], "metadata": { "interpreter": { "hash": "0eba95b783a86a65db7d6a4369f83058cbe3c96541785e1688217987e5cba802" }, "kernelspec": { "display_name": "Python 3.9.10 64-bit ('herbie': conda)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.2" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }