{ "cells": [ { "cell_type": "markdown", "id": "f9c72f63", "metadata": {}, "source": [ "# How to compare interpolated fields" ] }, { "cell_type": "markdown", "id": "4491c4d8", "metadata": {}, "source": [ "In this notebook we will compare a set of data to it's interpolated values.\n", "\n", "In addition we will interpolate a field using the 3 available methods of interpolation." ] }, { "cell_type": "code", "id": "796463ca-84b7-4545-90c7-57890b0a18fd", "metadata": { "nbsphinx": "hidden" }, "source": [ "import os\n", "\n", "os.environ[\"GES_TABLE_DIR\"] = \"/data/cvl_exj3/TABLES/DSC\"" ], "outputs": [], "execution_count": null }, { "cell_type": "code", "id": "153fe438-c094-4d46-956c-c11c5a44a262", "metadata": {}, "source": [ "from casys import (\n", " NadirData,\n", " AxeParams,\n", " CasysPlot,\n", " DateHandler,\n", " Field,\n", " PlotParams,\n", ")\n", "from casys.readers import CLSTableReader\n", "\n", "NadirData.enable_loginfo()" ], "outputs": [], "execution_count": null }, { "cell_type": "markdown", "id": "e130511e", "metadata": {}, "source": [ "## Create your NadirData" ] }, { "cell_type": "code", "id": "19160ef0", "metadata": { "pycharm": { "is_executing": false, "name": "#%%\n" } }, "source": [ "start = DateHandler.from_orf(orf=\"C_J3_GDRD\", cycle_nb=122, pass_nb=1, pos=\"first\")\n", "end = DateHandler.from_orf(orf=\"C_J3_GDRD\", cycle_nb=122, pass_nb=1, pos=\"last\")" ], "outputs": [], "execution_count": null }, { "cell_type": "code", "id": "738202c2", "metadata": {}, "source": [ "table_name = \"TABLE_C_J3_B_GDRD\"\n", "orf_name = \"C_J3_GDRD\"\n", "\n", "reader = CLSTableReader(\n", " name=table_name,\n", " date_start=start,\n", " date_end=end,\n", " orf=orf_name,\n", " time=\"time\",\n", " longitude=\"LONGITUDE\",\n", " latitude=\"LATITUDE\",\n", ")\n", "\n", "cd = NadirData(source=reader)\n", "\n", "reader_interp = CLSTableReader(\n", " name=table_name,\n", " date_start=start,\n", " date_end=end,\n", " orf=orf_name,\n", " time=\"time\",\n", " longitude=\"LONGITUDE\",\n", " latitude=\"LATITUDE\",\n", " reference_track=\"J3\",\n", ")\n", "\n", "cd_interp = NadirData(source=reader_interp)" ], "outputs": [], "execution_count": null }, { "cell_type": "markdown", "id": "2e393d6a", "metadata": {}, "source": [ "## Define fields with their interpolation parameters" ] }, { "cell_type": "code", "id": "007193cc", "metadata": {}, "source": [ "var_sla = Field(\n", " name=\"SLA\",\n", " source=\"ORBIT.ALTI - RANGE.ALTI - MEAN_SEA_SURFACE.MODEL.CNESCLS15\",\n", " unit=\"m\",\n", ")\n", "var_sla_linear = Field(\n", " name=\"SLA_linear\",\n", " source=\"ORBIT.ALTI - RANGE.ALTI - MEAN_SEA_SURFACE.MODEL.CNESCLS15\",\n", " unit=\"m\",\n", " interpolation=\"linear\",\n", ")\n", "var_sla_nearest = Field(\n", " name=\"SLA_nearest\",\n", " source=\"ORBIT.ALTI - RANGE.ALTI - MEAN_SEA_SURFACE.MODEL.CNESCLS15\",\n", " unit=\"m\",\n", " interpolation=\"nearest\",\n", ")\n", "var_sla_spline = Field(\n", " name=\"SLA_spline\",\n", " source=\"ORBIT.ALTI - RANGE.ALTI - MEAN_SEA_SURFACE.MODEL.CNESCLS15\",\n", " unit=\"m\",\n", " interpolation={\"mode\": \"smoothing_spline\", \"noise_level\": 0.1},\n", ")" ], "outputs": [], "execution_count": null }, { "cell_type": "markdown", "id": "37283bf0", "metadata": {}, "source": [ "## Add your diagnostics the same way you usually do" ] }, { "cell_type": "code", "id": "ad29ec50", "metadata": {}, "source": [ "cd.add_raw_data(name=\"SLA\", field=var_sla)\n", "\n", "cd_interp.add_raw_data(name=\"SLA linear\", field=var_sla_linear)\n", "cd_interp.add_raw_data(name=\"SLA nearest\", field=var_sla_nearest)\n", "cd_interp.add_raw_data(name=\"SLA spline\", field=var_sla_spline)" ], "outputs": [], "execution_count": null }, { "cell_type": "code", "id": "a2eb3afa", "metadata": {}, "source": [ "cd.compute()" ], "outputs": [], "execution_count": null }, { "cell_type": "code", "id": "395089c0", "metadata": {}, "source": [ "cd_interp.compute()" ], "outputs": [], "execution_count": null }, { "cell_type": "code", "id": "b5b27da3", "metadata": {}, "source": [ "cd.data" ], "outputs": [], "execution_count": null }, { "cell_type": "code", "id": "d4abd332", "metadata": {}, "source": [ "cd_interp.data" ], "outputs": [], "execution_count": null }, { "cell_type": "markdown", "id": "5ee4196d", "metadata": {}, "source": [ "## Plot your comparison" ] }, { "cell_type": "code", "id": "77b9f9ef", "metadata": {}, "source": [ "common_params = {\n", " \"grid\": True,\n", " \"color_limits\": (-5, 0),\n", " \"marker_size\": 6,\n", " \"fill_ocean\": False,\n", " \"x_limits\": (98.5, 100.5),\n", " \"y_limits\": (-2.2, -1),\n", "}\n", "\n", "plot_par = PlotParams(color_bar=AxeParams(position=\"left\"), **common_params)\n", "plot_par2 = PlotParams(\n", " color_map=\"autumn\",\n", " color_bar=AxeParams(position=\"right\", label=\"SLA interp (m)\"),\n", " **common_params,\n", ")\n", "plot_par3 = PlotParams(color_map=\"autumn\", color_bar=False, **common_params)\n", "\n", "sla_plot = CasysPlot(data=cd, data_name=\"SLA\", plot=\"map\", plot_params=plot_par)\n", "sla_plot_linear = CasysPlot(\n", " data=cd_interp, data_name=\"SLA linear\", plot=\"map\", plot_params=plot_par2\n", ")\n", "sla_plot_nearest = CasysPlot(\n", " data=cd_interp, data_name=\"SLA nearest\", plot=\"map\", plot_params=plot_par3\n", ")\n", "sla_plot_spline = CasysPlot(\n", " data=cd_interp, data_name=\"SLA spline\", plot=\"map\", plot_params=plot_par3\n", ")\n", "\n", "sla_plot.add_stat_bar()\n", "sla_plot_linear.add_stat_bar()\n", "sla_plot_nearest.add_stat_bar()\n", "sla_plot_spline.add_stat_bar()\n", "\n", "# That's new!\n", "sla_plot_nearest.adjust_coordinates(longitude=0.1, latitude=0)\n", "sla_plot_spline.adjust_coordinates(longitude=0.2, latitude=0)\n", "\n", "sla_plot.add_plot(sla_plot_linear)\n", "sla_plot.add_plot(sla_plot_nearest)\n", "sla_plot.add_plot(sla_plot_spline)\n", "\n", "sla_plot.show()" ], "outputs": [], "execution_count": null } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.11.8" } }, "nbformat": 4, "nbformat_minor": 5 }