diff --git a/.github/workflows/ci_devtests.yml b/.github/workflows/ci_devtests.yml index cfb68e4b1c..509fc3e7ea 100644 --- a/.github/workflows/ci_devtests.yml +++ b/.github/workflows/ci_devtests.yml @@ -5,11 +5,13 @@ on: push: branches: - main + - develop tags: - '*' pull_request: branches: - main + - develop schedule: # run every Monday at 5am UTC - cron: '0 5 * * 1' diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index d0db0f48cc..0135d90b1e 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -5,11 +5,13 @@ on: push: branches: - main + - develop tags: - '*' pull_request: branches: - main + - develop schedule: # run every Monday at 5am UTC - cron: '0 5 * * 1' diff --git a/.github/workflows/sync_fork.yml b/.github/workflows/sync_fork.yml new file mode 100644 index 0000000000..18abb115e6 --- /dev/null +++ b/.github/workflows/sync_fork.yml @@ -0,0 +1,45 @@ +name: Sync Fork +run-name: Sync Fork +on: + schedule: + - cron: '58 23 * * *' # run every day - two minutes to midnight + workflow_dispatch: # to enable manual runs of the workflow + +jobs: + Get-Timestamp: + runs-on: ubuntu-latest + steps: + - run: date + + Sync-With-Upstream: + runs-on: ubuntu-latest + steps: + - run: echo "The job was automatically triggered by a ${{ github.event_name }} event." + - run: echo "This job is now running on a ${{ runner.os }} server hosted by GitHub" + - run: echo "Running on branch ${{ github.ref }}, repository ${{ github.repository }}." + - name: Check out repository code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - run: echo "The ${{ github.repository }} repository has been cloned to the runner." + - name: List files in the repository + run: | + ls ${{ github.workspace }} + - name: Sync repository with upstream + run: | + cd ${{ github.workspace }} + git config --global user.email "jcarmona@eso.org" + git config --global user.name "Nightly Sync" + git remote add upstream https://github.com/astropy/astroquery.git + git remote -v + git fetch upstream main + echo "--- upstream log: " + git log upstream/main --oneline -10 + echo "--- current branch log before merge: " + git log --oneline -10 + git merge upstream/main + echo "--- current branch log after merge: " + git log --oneline -10 + echo "--- push force with lease" + git push --force-with-lease + - run: echo "The job finished with status ${{ job.status }}." diff --git a/astroquery/eso/core.py b/astroquery/eso/core.py index 30c473b60d..ebcd23c5ea 100644 --- a/astroquery/eso/core.py +++ b/astroquery/eso/core.py @@ -38,7 +38,7 @@ from ..utils import schema from .utils import _UserParams, raise_if_coords_not_valid, _reorder_columns, \ _raise_if_has_deprecated_keys, _build_adql_string, \ - DEFAULT_LEAD_COLS_PHASE3, DEFAULT_LEAD_COLS_RAW + _split_str_as_list_of_str, DEFAULT_LEAD_COLS_PHASE3, DEFAULT_LEAD_COLS_RAW __all__ = ['Eso', 'EsoClass'] @@ -71,6 +71,7 @@ class _EsoNames: phase3_table = "ivoa.ObsCore" raw_instruments_column = "instrument" phase3_surveys_column = "obs_collection" + asm_schema = "asm" @staticmethod def ist_table(instrument_name): @@ -79,6 +80,13 @@ def ist_table(instrument_name): """ return f"ist.{instrument_name}" + @staticmethod + def asm_table(asm_name): + """ + Returns the name of the ASM table + """ + return f"{_EsoNames.asm_schema}.{asm_name}" + apex_quicklooks_table = ist_table.__func__("apex_quicklooks") apex_quicklooks_pid_column = "project_id" @@ -348,6 +356,28 @@ def list_instruments(self, cache=True) -> List[str]: return l_res + @unlimited_maxrec + @deprecated_renamed_argument('cache', None, since='0.4.12') + def list_asm(self, cache=True) -> List[str]: + """ + List all the available ASM tables offered by the ESO archive. + + Returns + ------- + asm_list : list of strings + cache : bool + Deprecated - unused. + """ + _ = cache # We're aware about disregarding the argument + query_str = ("select table_name from TAP_SCHEMA.tables " + f"where schema_name='{_EsoNames.asm_schema}' order by table_name") + res = self.query_tap(query_str)["table_name"].data + + l_res = list(res) + l_res = list(map(lambda x: x.split(".", 1)[1], l_res)) + + return l_res + @unlimited_maxrec @deprecated_renamed_argument('cache', None, since='0.4.12') def list_surveys(self, *, cache=True) -> List[str]: @@ -368,17 +398,30 @@ def list_surveys(self, *, cache=True) -> List[str]: return res @unlimited_maxrec - def list_column(self, table_name: str) -> None: + def _get_table_columns(self, table_name: str, *, include_description: bool = False) -> Table: + columns = "column_name, datatype, xtype, unit" + if include_description: + columns = f"{columns}, description" + query_str = ( + f"select {columns} " + f"from TAP_SCHEMA.columns " + f"where table_name = '{table_name}'") + return self.query_tap(query_str) + + @unlimited_maxrec + def list_column(self, table_name: str, *, include_description: bool = False) -> None: """ Prints the columns contained in a given table + + Parameters + ---------- + table_name : str + Name of the table to inspect. + include_description : bool, optional + If ``True``, include column descriptions when available. """ - help_query = ( - f"select column_name, datatype, xtype, unit " - # TODO: The column description renders output unmanageable - # f", description " - f"from TAP_SCHEMA.columns " - f"where table_name = '{table_name}'") - available_cols = self.query_tap(help_query) + available_cols = self._get_table_columns( + table_name, include_description=include_description) count_query = f"select count(*) from {table_name}" num_records = list(self.query_tap(count_query)[0].values())[0] @@ -590,6 +633,146 @@ def query_main( t = _reorder_columns(t, DEFAULT_LEAD_COLS_RAW) return t + def query_asm( + self, + asm_table: str, *, + help: bool = False, + columns: Union[List, str] = None, + column_filters: Optional[dict] = None, + maxrec: int = None, + **kwargs, + ) -> Union[Table, int, str, None]: + """ + Query ASM (Astronomical Site Monitor) data contained in the ESO archive. + + Parameters + ---------- + asm_table : str + Name of the ASM table to query. Should be ONLY ONE of the + names returned by :meth:`~astroquery.eso.EsoClass.list_asm`. + The ``asm.`` prefix is accepted. + help : bool, optional + If ``True``, prints all the parameters accepted in ``column_filters`` + and ``columns``. Default is ``False``. + columns : str or list of str, optional + Name of the columns the query should return. If specified as a string, + it should be a comma-separated list of column names. + column_filters : dict or None, optional + Constraints applied to the query in ADQL syntax, + e.g., ``{"exp_start": "between '2024-12-31' and '2025-12-31'"}``. + Default is ``None``. + maxrec : int or None, optional + Overrides the configured row limit for this query only. + **kwargs + Additional optional parameters consistent with + :meth:`~astroquery.eso.EsoClass.query_instrument`, including: + ``top``, ``count_only``, ``get_query_payload``, ``authenticated``, + ``order_by``, and ``order_by_desc``. + + Returns + ------- + astropy.table.Table, str, int, or None + - By default, returns an :class:`~astropy.table.Table` containing records + based on the specified columns and constraints. Returns ``None`` if no results. + - When ``count_only`` is ``True``, returns an ``int`` representing the + record count for the specified filters. + - When ``get_query_payload`` is ``True``, returns the query string that + would be issued to the TAP service given the specified arguments. + """ + column_filters = column_filters if column_filters else {} + + if not isinstance(asm_table, str) or not asm_table.strip(): + raise ValueError("asm_table must be a non-empty string.") + + asm_table = asm_table.strip() + if asm_table.lower().startswith(f"{_EsoNames.asm_schema}."): + asm_table = asm_table.split(".", 1)[1] + + asm_names = self.list_asm() + asm_map = {name.lower(): name for name in asm_names} + asm_table_key = asm_table.lower() + if asm_table_key not in asm_map: + raise ValueError( + f"Unknown ASM table '{asm_table}'. " + "Use list_asm() to see available ASM tables." + ) + + asm_table = asm_map[asm_table_key] + table_name = _EsoNames.asm_table(asm_table) + + if help: + self.list_column(table_name, include_description=True) + return + + allowed_kwargs = { + "top", "count_only", "get_query_payload", "authenticated", + "order_by", "order_by_desc", + } + unknown_kwargs = set(kwargs) - allowed_kwargs + if unknown_kwargs: + unknown_str = ", ".join(sorted(unknown_kwargs)) + raise TypeError(f"Unexpected keyword argument(s): {unknown_str}") + + columns_list = None + if columns is not None: + if isinstance(columns, str): + columns_list = _split_str_as_list_of_str(columns) + else: + columns_list = list(columns) + + available_cols = self._get_table_columns(table_name)["column_name"].data + available_cols_map = {c.lower(): c for c in available_cols} + + if columns_list: + if not (len(columns_list) == 1 and columns_list[0] == '*'): + missing_cols = [ + c for c in columns_list if c.lower() not in available_cols_map + ] + if missing_cols: + missing_str = ", ".join(sorted(missing_cols)) + raise ValueError( + f"Unknown column(s) in columns for table {table_name}: {missing_str}" + ) + columns = [available_cols_map[c.lower()] for c in columns_list] + + if column_filters: + missing_filters = [ + k for k in column_filters.keys() if k.lower() not in available_cols_map + ] + if missing_filters: + missing_str = ", ".join(sorted(missing_filters)) + raise ValueError( + f"Unknown column(s) in column_filters for table {table_name}: {missing_str}" + ) + column_filters = { + available_cols_map[k.lower()]: v for k, v in column_filters.items() + } + + row_limit = None + if maxrec is not None: + row_limit = self.ROW_LIMIT + self.ROW_LIMIT = maxrec + + try: + user_params = _UserParams( + table_name=table_name, + column_name=None, + allowed_values=None, + columns=columns, + column_filters=column_filters, + top=kwargs.get("top"), + count_only=kwargs.get("count_only", False), + get_query_payload=kwargs.get("get_query_payload", False), + print_help=False, + authenticated=kwargs.get("authenticated", False), + order_by=kwargs.get("order_by", ''), + order_by_desc=kwargs.get("order_by_desc", True), + ) + return self._query_on_allowed_values(user_params) + finally: + if row_limit is not None: + self.ROW_LIMIT = row_limit + @deprecated_renamed_argument(('open_form', 'cache'), (None, None), since=['0.4.12', '0.4.12']) def query_instrument( diff --git a/astroquery/eso/testing/test_query_asm.ipynb b/astroquery/eso/testing/test_query_asm.ipynb new file mode 100644 index 0000000000..559cc6dcf7 --- /dev/null +++ b/astroquery/eso/testing/test_query_asm.ipynb @@ -0,0 +1,309 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "e8e82756", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "astroquery version: 0.4.12.dev10525\n" + ] + } + ], + "source": [ + "import astroquery # import astroquery\n", + "from astroquery.eso import Eso # import the ESO module from astroquery\n", + "\n", + "print(f\"astroquery version: {astroquery.__version__}\") # check the version of astroquery\n", + "\n", + "eso = Eso() # create an instance of the ESO class " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "d1d9309d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['ambient_lasilla',\n", + " 'dimm_paranal',\n", + " 'historical_ambient_paranal',\n", + " 'lhatpros_paranal',\n", + " 'lhatpros_paranal_irt',\n", + " 'lhatpros_paranal_profiles',\n", + " 'mass_paranal',\n", + " 'meteo_apex',\n", + " 'meteo_lasilla',\n", + " 'meteo_paranal',\n", + " 'meteo_vista',\n", + " 'slodar_paranal']" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eso.list_asm()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "2dad36eb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO: \n", + "Columns present in the table asm.meteo_paranal:\n", + " column_name datatype xtype unit description \n", + "--------------------- -------- --------- --------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n", + " integration short s Timebin [s] used for measurement of ambient data sample.\n", + " midpoint_date char timestamp Midpoint (time) of the measurement.\n", + " presqnh float hPa Air Pressure Normalised: 1 minute average pressure normalised to sea level [hPa]. (sci. param.)\n", + " presqnh_dev float hPa Air Pressure Normalised RMS: 1 minute RMS pressure normalized to sea level [hPa]. (eng. param.)\n", + " presqnh_inst float hPa Air Pressure Normalised instantaneous: Pressure normalized to sea level at the end of the averaging period [hPa]. (eng. param.)\n", + " presqnh_max float hPa Air Pressure Normalised max: 1 minute maximum pressure normalized to sea level [hPa]. (eng. param.)\n", + " presqnh_min float hPa Air Pressure Normalised min: 1 minute minimum pressure normalized to sea level [hPa]. (eng. param.)\n", + " press_0m float hPa Air Pressure: Temporal (1 minute) mean of observatory site ambient baromeric air pressure measured at 0m above the VLT platform during measurement period [hPa]. (sci. param.)\n", + " press_0m_dev float hPa Air Pressure RMS: 1 minute RMS surface pressure variation at 0m above the VLT platform [hPa]. (eng. param.)\n", + " press_0m_inst float hPa Air Pressure instantaneous: instant value measured at 0m above the VLT platform at the end of the averaging period [hPa]. (eng. param.)\n", + " press_0m_max float hPa Air Pressure max: 1 minute maximum surface pressure at 0m above the VLT platform [hPa]. (eng. param.)\n", + " press_0m_min float hPa Air Pressure min: 1 minute minimum surface pressure at 0m above the VLT platform [hPa]. (eng. param.)\n", + " prestrend_0m float hPa Air Pressure 3h trend: Surface pressure trend over 3 hours at 0m above the VLT platform [hPa]. (eng. param.)\n", + " rain_m20m short % Rain intensity: 1 minute average rain percentage measured 20m below the VLT platform [%]. (sci. param.)\n", + " rain_m20m_dev short % Rain Intensity RMS: 1 minute RMS rain percentage 20m below the VLT platform [%]. (eng. param.)\n", + " rain_m20m_inst short % Rain Intensity instantaneous : Rain percentage at 20m below the VLT platform at the end of the averaging period [%]. (eng. param.)\n", + " rain_m20m_max short % Rain Intensity max: 1 minute maximum rain percentage 20m below the VLT platform [%]. (eng. param.)\n", + " rain_m20m_min short % Rain Intensity min: 1 minute minimum rain percentage 20m below the VLT platform [%]. (eng. param.)\n", + " rhum_2m short % Relative Humidity: Temporal (1 minute) mean of observatory site ambient relative humidity measured at sensor position 2m above the VLT platform during measurement period [%]. (sci. param.)\n", + " rhum_2m_dev short % Humidity RMS: 1 minute RMS relative humidity measured at 2m above the VLT platform [%]. (eng. param.)\n", + " rhum_2m_inst short % Humidity instantaneous: instant value measured at 2m above the VLT platform at the end of the averaging period [%]. (eng. param.)\n", + " rhum_2m_max short % Humidity max: 1 minute maximum relative humidity measured at 2m above the VLT platform [%]. (eng. param.)\n", + " rhum_2m_min short % Humidity min: 1 minute minimum relative humidity measured at 2m above the VLT platform [%]. (eng. param.)\n", + " rhum_30m short % Relative Humidity: Temporal (1 minute) mean of observatory site ambient relative humidity measured at sensor position 30m above the VLT platform during measurement period [%]. (sci. param.)\n", + " rhum_30m_dev short % Humidity RMS: 1 minute RMS relative humidity measured at 30m above the VLT platform [%]. (eng. param.)\n", + " rhum_30m_inst short % Humidity instantaneous: instant value measured at 30m above the VLT platform at the end of the averaging period [%]. (eng. param.)\n", + " rhum_30m_max short % Humidity max: 1 minute maximum relative humidity measured at 30m above the VLT platform [%]. (eng. param.)\n", + " rhum_30m_min short % Humidity min: 1 minute minimum relative humidity measured at 30m above the VLT platform [%]. (eng. param.)\n", + " rhum_m20m short % Relative Humidity: Temporal (1 minute) mean of observatory site ambient relative humidity measured at sensor position 20m below the VLT platform during measurement period [%]. (sci. param.)\n", + " rhum_m20m_dev short % Humidity RMS: 1 minute RMS relative humidity measured at 20m below the VLT platform [%]. (eng. param.)\n", + " rhum_m20m_inst short % Humidity instantaneous: instant value measured at 20m below the VLT platform at the end of the averaging period [%]. (eng. param.)\n", + " rhum_m20m_max short % Humidity max: 1 minute maximum relative humidity measured at 20m below the VLT platform [%]. (eng. param.)\n", + " rhum_m20m_min short % Humidity min: 1 minute minimum relative humidity measured at 20m below the VLT platform [%]. (eng. param.)\n", + " start_date char timestamp The start time of the measurement.\n", + " temp_0m float Celsius Ambient Temperature: Temporal (1 minute) mean of site ambient temperature measured at 0m above the VLT platform [degC]. (sci. param.)\n", + " temp_0m_dev float Celsius Air Temperature RMS: 1 minute RMS air temperature variation at 0m above the VLT platform below VLT platform [degC]. (eng. param.)\n", + " temp_0m_inst float Celsius Air Temperature Instantaneous : instant value measured at 0m above the VLT platform measured at the end of the averaging period [degC]. (eng. param.)\n", + " temp_0m_max float Celsius Air Temperature max: 1 minute maximum air temperature at 0m above the VLT platform [degC]. (eng. param.)\n", + " temp_0m_min float Celsius Air Temperature min: 1 minute minimum air temperature at 0m above the VLT platform [degC]. (eng. param.)\n", + " temp_2m float Celsius Ambient Temperature: Temporal (1 minute) mean of site ambient temperature measured at 2m above the VLT platform [degC]. (sci. param.)\n", + " temp_2m_dev float Celsius Air Temperature RMS: 1 minute RMS air temperature variation at 2m above the VLT platform below VLT platform [degC]. (eng. param.)\n", + " temp_2m_inst float Celsius Air Temperature Instantaneous : instant value measured at 2m above the VLT platform measured at the end of the averaging period [degC]. (eng. param.)\n", + " temp_2m_max float Celsius Air Temperature max: 1 minute maximum air temperature at 2m above the VLT platform [degC]. (eng. param.)\n", + " temp_2m_min float Celsius Air Temperature min: 1 minute minimum air temperature at 2m above the VLT platform [degC]. (eng. param.)\n", + " temp_30m float Celsius Ambient Temperature: Temporal (1 minute) mean of site ambient temperature measured at 30m above the VLT platform [degC]. (sci. param.)\n", + " temp_30m_dev float Celsius Air Temperature RMS: 1 minute RMS air temperature variation at 30m above the VLT platform below VLT platform [degC]. (eng. param.)\n", + " temp_30m_inst float Celsius Air Temperature Instantaneous : instant value measured at 30m above the VLT platform measured at the end of the averaging period [degC]. (eng. param.)\n", + " temp_30m_max float Celsius Air Temperature max: 1 minute maximum air temperature at 30m above the VLT platform [degC]. (eng. param.)\n", + " temp_30m_min float Celsius Air Temperature min: 1 minute minimum air temperature at 30m above the VLT platform [degC]. (eng. param.)\n", + " temp_m20m float Celsius Ambient Temperature: Temporal (1 minute) mean of site ambient temperature measured at 20m below the VLT platform [degC]. (sci. param.)\n", + " temp_m20m_dev float Celsius Air Temperature RMS: 1 minute RMS air temperature variation 20m below the VLT platform [degC]. (eng. param.)\n", + " temp_m20m_inst float Celsius Air Temperature Instantaneous : instant value measured at 20m below the VLT platform measured at the end of the averaging period [degC]. (eng. param.)\n", + " temp_m20m_max float Celsius Air Temperature max: 1 minute maximum air temperature 20m below the VLT platform [degC]. (eng. param.)\n", + " temp_m20m_min float Celsius Air Temperature min: 1 minute minimum air temperature 20m below the VLT platform [degC]. (eng. param.)\n", + " tempdew_2m float Celsius Dew Temperature: Temporal (1 minute) mean of observatory site ambient dew temperature measured at sensor position 2m above the VLT platform during measurement period [degC]. (sci. param.)\n", + " tempdew_2m_dev float Celsius Dew Temperature RMS: 1 minute RMS dew temperature at 2m above the VLT platform [degC]. (eng. param.)\n", + " tempdew_2m_inst float Celsius Dew Temperature instantaneous: instant value measured at 2m above the VLT platform measured at the end of the averaging period [degC]. (eng. param.)\n", + " tempdew_2m_max float Celsius Dew Temperature max: 1 minute maximum dew temperature at 2m above the VLT platform [degC]. (eng. param.)\n", + " tempdew_2m_min float Celsius Dew Temperature min: 1 minute minimum dew temperature at 2m above the VLT platform [degC]. (eng. param.)\n", + " tempdew_30m float Celsius Dew Temperature: Temporal (1 minute) mean of observatory site ambient dew temperature measured at sensor position 30m above the VLT platform during measurement period [degC]. (sci. param.)\n", + " tempdew_30m_dev float Celsius Dew Temperature RMS: 1 minute RMS dew temperature at 30m above the VLT platform [degC]. (eng. param.)\n", + " tempdew_30m_inst float Celsius Dew Temperature instantaneous: instant value measured at 30m above the VLT platform measured at the end of the averaging period [degC]. (eng. param.)\n", + " tempdew_30m_max float Celsius Dew Temperature max: 1 minute maximum dew temperature at 30m above the VLT platform [degC]. (eng. param.)\n", + " tempdew_30m_min float Celsius Dew Temperature min: 1 minute minimum dew temperature at 30m above the VLT platform [degC]. (eng. param.)\n", + " tempdew_m20m float Celsius Dew Temperature: Temporal (1 minute) mean of observatory site ambient dew temperature measured at sensor position 20m below the VLT platform during measurement period [degC]. (sci. param.)\n", + " tempdew_m20m_dev float Celsius Dew Temperature RMS: 1 minute RMS dew temperature at 20m below the VLT platform [degC]. (eng. param.)\n", + " tempdew_m20m_inst float Celsius Dew Temperature instantaneous: instant value measured at 20m below the VLT platform measured at the end of the averaging period [degC]. (eng. param.)\n", + " tempdew_m20m_max float Celsius Dew Temperature max: 1 minute maximum dew temperature at 20m below the VLT platform [degC]. (eng. param.)\n", + " tempdew_m20m_min float Celsius Dew Temperature min: 1 minute minimum dew temperature at 20m below the VLT platform [degC]. (eng. param.)\n", + " valid short 1 if a valid measurement, 0 otherwise.\n", + " wind_dir_10m short deg Wind Direction (0/360): 1 minute average wind direction at 10m above the VLT platform counted clockwise from North (standard) [deg]. (sci. param.)\n", + " wind_dir_10m_180 short deg Wind Direction (180/-180): 1 minute average wind direction at 10m and 10m above the VLT platform counted clockwise from North (with 180 degree negative offset for display purposes) [deg]. (sci. param.)\n", + "wind_dir_10m_180_inst short deg Wind Direction instantaneous (180/-180): wind direction at 10m above the VLT platform, counted clockwise from North (with 180 degree negative offset for display purposes), at the end of the averaging period [deg]. (eng. param.)\n", + " wind_dir_10m_180_max short deg Wind Direction max (180/-180): 1 minute maximum wind direction at 10m above the VLT platform counted clockwise from North (with 180 degree negative offset for display purposes) [deg]. (eng. param.)\n", + " wind_dir_10m_180_min short deg Wind Direction min (180/-180): 1 minute minimum wind direction at 10m above the VLT platform counted clockwise from North (with 180 degree negative offset for display purposes) [deg]. (eng. param.)\n", + " wind_dir_10m_dev short deg Wind Direction RMS: 1 minute RMS air wind direction at 10m above the VLT platform [deg]. (eng. param.)\n", + " wind_dir_10m_inst short deg Wind Direction instantaneous (0/360): wind direction at 10m above the VLT platform, counted clockwise from North (standard), at the end of the averaging period [deg]. (eng. param.)\n", + " wind_dir_10m_max short deg Wind Direction max (0/360): 1 minute maximum wind direction at 10m above the VLT platform counted clockwise from North (standard) [deg]. (eng. param.)\n", + " wind_dir_10m_min short deg Wind Direction min (0/360): 1 minute minimum wind direction at 10m above the VLT platform counted clockwise from North (standard) [deg]. (eng. param.)\n", + " wind_dir_30m short deg Wind Direction (0/360): 1 minute average wind direction at 30m above the VLT platform counted clockwise from North (standard) [deg]. (sci. param.)\n", + " wind_dir_30m_180 short deg Wind Direction (180/-180): 1 minute average wind direction at 30m above the VLT platform counted clockwise from North (with 180 degree negative offset for display purposes) [deg]. (sci. param.)\n", + "wind_dir_30m_180_inst short deg Wind Direction instantaneous (180/-180): wind direction at 30m above the VLT platform, counted clockwise from North (with 180 degree negative offset for display purposes), at the end of the averaging period [deg]. (eng. param.)\n", + " wind_dir_30m_180_max short deg Wind Direction max (180/-180): 1 minute maximum wind direction at 30m above the VLT platform counted clockwise from North (with 180 degree negative offset for display purposes) [deg]. (eng. param.)\n", + " wind_dir_30m_180_min short deg Wind Direction min (180/-180): 1 minute minimum wind direction at 30m above the VLT platform counted clockwise from North (with 180 degree negative offset for display purposes) [deg]. (eng. param.)\n", + " wind_dir_30m_dev short deg Wind Direction RMS: 1 minute RMS air wind direction at 30m above the VLT platform counted clockwise from North (standard) [deg]. (eng. param.)\n", + " wind_dir_30m_inst short deg Wind Direction instantaneous (0/360): wind direction at 30m above the VLT platform, counted clockwise from North (standard), at the end of the averaging period [deg]. (eng. param.)\n", + " wind_dir_30m_max short deg Wind Direction max (0/360): 1 minute maximum wind direction at 30m above the VLT platform counted clockwise from North (standard) [deg]. (eng. param.)\n", + " wind_dir_30m_min short deg Wind Direction min (0/360): 1 minute minimum wind direction at 30m above the VLT platform counted clockwise from North (standard) [deg]. (eng. param.)\n", + " wind_speed_10m float m.s**(-1) Wind Speed: 1 minute average wind speed at sensor position 10m [m.s**(-1)]. (sci. param.)\n", + " wind_speed_10m_dev float m.s**(-1) Wind Speed RMS: 1 minute RMS wind speed at 10m above ground [m.s**(-1)]. (eng. param.)\n", + " wind_speed_10m_inst float m.s**(-1) Wind Speed instantaneous : instant value measured at 10m above the VLT platform, at the end of the averaging period [m.s**(-1)]. (eng. param.)\n", + " wind_speed_10m_max float m.s**(-1) Wind Speed max: 1 minute maximum wind speed at 10m above ground [m.s**(-1)]. (eng. param.)\n", + " wind_speed_10m_min float m.s**(-1) Wind Speed min: 1 minute minimum wind speed at 10m above ground [m.s**(-1)]. (eng. param.)\n", + " wind_speed_30m float m.s**(-1) Wind Speed: 1 minute average wind speed at sensor position 30m above the VLT platform [m.s**(-1)]. (sci. param.)\n", + " wind_speed_30m_dev float m.s**(-1) Wind Speed RMS: 1 minute RMS wind speed at 30m above the VLT platform [m.s**(-1)]. (eng. param.)\n", + " wind_speed_30m_inst float m.s**(-1) Wind Speed instantaneous : instant value measured at 30m above the VLT platform, at the end of the averaging period [m.s**(-1)]. (eng. param.)\n", + " wind_speed_30m_max float m.s**(-1) Wind Speed max: 1 minute maximum wind speed at 30m above the VLT platform [m.s**(-1)]. (eng. param.)\n", + " wind_speed_30m_min float m.s**(-1) Wind Speed min: 1 minute minimum wind speed at 30m above the VLT platform [m.s**(-1)]. (eng. param.)\n", + " wind_speedu_20m float m.s**(-1) Wind Speed component U: Temporal mean of observatory site ambient wind speed U vector component, where U is horizontal and points to 330 degree measured at sensor position 20m above ground during measurement period [m.s**(-1)]. (sci. param.)\n", + " wind_speedu_20m_dev float m.s**(-1) Wind Speed component U RMS: 1 minute RMS horizontal wind speed U component (into 330 degree) at 20m above ground [m.s**(-1)]. (eng. param.)\n", + " wind_speedu_20m_inst float m.s**(-1) Wind Speed component U instantaneous: Horizontal wind speed U component (into 330 degree) at 20m above ground at the end of the averaging period [m.s**(-1)]. (eng. param.)\n", + " wind_speedu_20m_max float m.s**(-1) Wind Speed component U max: 1 minute maximum horizontal wind speed U component (into 330 degree) at 20m above ground [m.s**(-1)]. (eng. param.)\n", + " wind_speedu_20m_min float m.s**(-1) Wind Speed component U min: 1 minute minimum horizontal wind speed U component (into 330 degree) at 20m above ground [m.s**(-1)]. (eng. param.)\n", + " wind_speedv_20m float m.s**(-1) Wind Speed component V: Temporal mean of observatory site ambient wind speed V vector component, where V is horizontal and points to 240 degree measured at sensor position 20m above ground during measurement period [m.s**(-1)]. (sci. param.)\n", + " wind_speedv_20m_dev float m.s**(-1) Wind Speed component V RMS: 1 minute RMS horizontal wind speed V component (into 240 degree) at 20m above ground [m.s**(-1)]. (eng. param.)\n", + " wind_speedv_20m_inst float m.s**(-1) Wind Speed component V instantaneous: Horizontal wind speed V component (into 240 degree) at 20m above ground at the end of the averaging period [m.s**(-1)]. (eng. param.)\n", + " wind_speedv_20m_max float m.s**(-1) Wind Speed component V max: 1 minute maximum horizontal wind speed V component (into 240 degree) at 20m above ground [m.s**(-1)]. (eng. param.)\n", + " wind_speedv_20m_min float m.s**(-1) Wind Speed component V min: 1 minute minimum horizontal wind speed V component (into 240 degree) at 20m above ground [m.s**(-1)]. (eng. param.)\n", + " wind_speedw_20m float m.s**(-1) Wind Speed component W: Temporal mean of observatory site ambient wind speed W vector component, where W is vertically pointing upwards, measured at sensor position 20m above ground during measurement period [m.s**(-1)]. (sci. param.)\n", + " wind_speedw_20m_dev float m.s**(-1) Wind Speed component W RMS: 1 minute RMS vertical wind speed W component at 20m above ground [m.s**(-1)]. (eng. param.)\n", + " wind_speedw_20m_inst float m.s**(-1) Wind Speed component W instantaneous: Vertical wind speed W component at 20m above ground at the end of the averaging period [m.s**(-1)]. (eng. param.)\n", + " wind_speedw_20m_max float m.s**(-1) Wind Speed component W max: 1 minute maximum vertical wind speed W component at 20m above ground [m.s**(-1)]. (eng. param.)\n", + " wind_speedw_20m_min float m.s**(-1) Wind Speed component W min: 1 minute minimum vertical wind speed W component at 20m above ground [m.s**(-1)]. (eng. param.)\n", + "\n", + "Number of records present in the table asm.meteo_paranal:\n", + "14162797\n", + " [astroquery.eso.core]\n" + ] + } + ], + "source": [ + "eso.query_asm('meteo_paranal', help=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "edda44d1", + "metadata": {}, + "outputs": [], + "source": [ + "table = eso.query_asm('meteo_paranal', column_filters={\"start_date\": \"between '2025-05-01T21:00:00' and '2025-05-02T10:00:00'\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "7ca5626c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
| integration | midpoint_date | presqnh | presqnh_dev | presqnh_inst | presqnh_max | presqnh_min | press_0m | press_0m_dev | press_0m_inst | press_0m_max | press_0m_min | prestrend_0m | rain_m20m | rain_m20m_dev | rain_m20m_inst | rain_m20m_max | rain_m20m_min | rhum_2m | rhum_2m_dev | rhum_2m_inst | rhum_2m_max | rhum_2m_min | rhum_30m | rhum_30m_dev | rhum_30m_inst | rhum_30m_max | rhum_30m_min | rhum_m20m | rhum_m20m_dev | rhum_m20m_inst | rhum_m20m_max | rhum_m20m_min | start_date | temp_0m | temp_0m_dev | temp_0m_inst | temp_0m_max | temp_0m_min | temp_2m | temp_2m_dev | temp_2m_inst | temp_2m_max | temp_2m_min | temp_30m | temp_30m_dev | temp_30m_inst | temp_30m_max | temp_30m_min | temp_m20m | temp_m20m_dev | temp_m20m_inst | temp_m20m_max | temp_m20m_min | tempdew_2m | tempdew_2m_dev | tempdew_2m_inst | tempdew_2m_max | tempdew_2m_min | tempdew_30m | tempdew_30m_dev | tempdew_30m_inst | tempdew_30m_max | tempdew_30m_min | tempdew_m20m | tempdew_m20m_dev | tempdew_m20m_inst | tempdew_m20m_max | tempdew_m20m_min | valid | wind_dir_10m | wind_dir_10m_180 | wind_dir_10m_180_inst | wind_dir_10m_180_max | wind_dir_10m_180_min | wind_dir_10m_dev | wind_dir_10m_inst | wind_dir_10m_max | wind_dir_10m_min | wind_dir_30m | wind_dir_30m_180 | wind_dir_30m_180_inst | wind_dir_30m_180_max | wind_dir_30m_180_min | wind_dir_30m_dev | wind_dir_30m_inst | wind_dir_30m_max | wind_dir_30m_min | wind_speed_10m | wind_speed_10m_dev | wind_speed_10m_inst | wind_speed_10m_max | wind_speed_10m_min | wind_speed_30m | wind_speed_30m_dev | wind_speed_30m_inst | wind_speed_30m_max | wind_speed_30m_min | wind_speedu_20m | wind_speedu_20m_dev | wind_speedu_20m_inst | wind_speedu_20m_max | wind_speedu_20m_min | wind_speedv_20m | wind_speedv_20m_dev | wind_speedv_20m_inst | wind_speedv_20m_max | wind_speedv_20m_min | wind_speedw_20m | wind_speedw_20m_dev | wind_speedw_20m_inst | wind_speedw_20m_max | wind_speedw_20m_min |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| s | hPa | hPa | hPa | hPa | hPa | hPa | hPa | hPa | hPa | hPa | hPa | % | % | % | % | % | % | % | % | % | % | % | % | % | % | % | % | % | % | % | % | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | Celsius | deg | deg | deg | deg | deg | deg | deg | deg | deg | deg | deg | deg | deg | deg | deg | deg | deg | deg | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | m.s**(-1) | |||
| int16 | object | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | object | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | int16 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 | float32 |
| 60 | 2025-05-01T21:01:11Z | 1027.44 | 0.0 | 1027.47 | 1027.47 | 1027.34 | 745.08 | 0.24 | 745.1 | 745.1 | 745.0 | -0.17 | 1 | 1 | 1 | 1 | 1 | 15 | 1 | 14 | 16 | 14 | 15 | 1 | 15 | 17 | 13 | 14 | 1 | 17 | 15 | 13 | 2025-05-01T21:00:41Z | 18.04 | 0.01 | 18.06 | 18.05 | 18.02 | 15.98 | 0.05 | 15.96 | 16.05 | 15.92 | 14.78 | 0.02 | 14.78 | 14.81 | 14.76 | 17.49 | 0.14 | 17.46 | 17.65 | 17.3 | -10.56 | 0.72 | -11.56 | -9.76 | -11.56 | -11.67 | 1.21 | -11.9 | -10.3 | -13.26 | -10.3 | 0.87 | -9.19 | -9.19 | -11.3 | 1 | 343 | -17 | -17 | -17 | -17 | 0 | 343 | 343 | 343 | 346 | -14 | -22 | -6 | -22 | 5 | 338 | 354 | 338 | 8.78 | 0.87 | 7.4 | 9.9 | 7.1 | 8.43 | 1.09 | 7.7 | 11.0 | 6.8 | -7.45 | 0.59 | -7.99 | -6.55 | -8.75 | 2.03 | 0.52 | 1.12 | 3.3 | 1.05 | 2.35 | 0.6 | 2.65 | 3.67 | 1.4 |
| 60 | 2025-05-01T21:02:11Z | 1027.42 | 0.0 | 1027.47 | 1027.47 | 1027.34 | 745.07 | 0.28 | 745.0 | 745.1 | 745.0 | -0.17 | 1 | 1 | 1 | 1 | 1 | 16 | 1 | 15 | 17 | 14 | 16 | 1 | 16 | 18 | 15 | 17 | 1 | -- | 17 | 16 | 2025-05-01T21:01:41Z | 18.04 | 0.01 | 18.03 | 18.06 | 18.03 | 15.95 | 0.04 | 15.9 | 16.01 | 15.88 | 14.76 | 0.03 | 14.72 | 14.78 | 14.71 | 17.44 | 0.2 | 17.15 | 17.69 | 17.19 | -10.16 | 0.77 | -10.44 | -9.09 | -11.37 | -10.66 | 1.09 | -11.94 | -9.38 | -11.94 | -8.12 | 0.6 | -7.63 | -7.63 | -8.78 | 1 | 343 | -17 | 11 | -17 | -17 | 0 | 11 | 343 | 343 | 341 | -19 | 0 | 0 | -28 | 7 | 360 | 0 | 332 | 8.45 | 1.05 | 8.8 | 10.9 | 7.1 | 7.88 | 0.76 | 8.9 | 9.4 | 6.7 | -7.63 | 0.69 | -6.57 | -6.38 | -8.82 | 2.28 | 0.98 | 2.51 | 4.38 | 1.05 | 2.45 | 0.47 | 2.65 | 3.75 | 1.55 |
| 60 | 2025-05-01T21:03:11Z | 1027.44 | 2.37 | 1027.47 | 1031.23 | 1023.7 | 745.08 | 1.8 | 745.1 | 748.0 | 742.2 | -0.13 | 1 | 1 | 1 | 1 | 1 | 15 | 1 | 15 | 16 | 14 | 15 | 1 | 16 | 16 | 14 | 14 | 1 | 16 | 15 | 13 | 2025-05-01T21:02:41Z | 18.04 | 0.01 | 18.06 | 18.05 | 18.02 | 15.9 | 0.09 | 15.75 | 16.0 | 15.78 | 14.72 | 0.0 | 14.73 | 14.73 | 14.72 | 17.41 | 0.21 | 17.61 | 17.65 | 17.15 | -10.79 | 0.72 | -11.56 | -9.86 | -11.63 | -11.5 | 0.54 | -10.78 | -10.78 | -12.14 | -10.29 | 0.79 | -10.34 | -9.26 | -11.17 | 1 | 348 | -12 | -17 | 11 | -17 | 11 | 343 | 11 | 343 | 358 | -2 | -17 | 6 | -17 | 6 | 343 | 6 | 343 | 8.3 | 1.18 | 9.6 | 10.0 | 5.9 | 8.57 | 0.72 | 6.7 | 9.9 | 7.2 | -6.83 | 0.7 | -8.04 | -5.55 | -8.15 | 3.28 | 0.99 | 1.38 | 5.0 | 0.88 | 2.1 | 0.59 | 4.54 | 4.05 | 0.75 |
| 60 | 2025-05-01T21:04:13Z | 1027.38 | 9.86 | 1027.47 | 1042.92 | 1011.74 | 745.03 | 7.59 | 745.1 | 757.0 | 733.0 | -0.1 | 1 | 1 | 1 | 1 | 1 | 15 | 1 | 16 | 16 | 15 | 16 | 1 | 17 | 17 | 16 | 15 | 1 | -- | 16 | 14 | 2025-05-01T21:03:43Z | 18.05 | 0.0 | 18.05 | 18.06 | 18.05 | 15.76 | 0.08 | 15.68 | 15.85 | 15.66 | 14.76 | 0.02 | 14.75 | 14.78 | 14.73 | 17.61 | 0.16 | 17.49 | 17.88 | 17.38 | -10.59 | 0.45 | -9.98 | -9.98 | -11.16 | -10.52 | 0.46 | -9.93 | -9.93 | -11.04 | -9.24 | 0.93 | -10.12 | -8.17 | -10.12 | 1 | 331 | -29 | -34 | -17 | -39 | 8 | 326 | 343 | 321 | 344 | -16 | -6 | -6 | -28 | 5 | 354 | 354 | 332 | 7.93 | 1.11 | 7.0 | 10.1 | 5.7 | 7.63 | 0.9 | 7.9 | 9.4 | 6.2 | -7.1 | 0.93 | -6.92 | -5.75 | -9.55 | 1.7 | 0.66 | 1.54 | 3.4 | -0.03 | 2.38 | 0.87 | 2.26 | 4.55 | 1.05 |
| 60 | 2025-05-01T21:05:13Z | 1027.38 | 0.0 | 1027.34 | 1027.47 | 1027.34 | 745.03 | 0.0 | 745.0 | 745.1 | 745.0 | -0.13 | 1 | 1 | 1 | 1 | 1 | 16 | 0 | 16 | 16 | 16 | 17 | 1 | 16 | 17 | 16 | 14 | 1 | 13 | 15 | 13 | 2025-05-01T21:04:43Z | 18.06 | 0.01 | 18.05 | 18.07 | 18.04 | 15.74 | 0.08 | 15.76 | 15.85 | 15.63 | 14.74 | 0.01 | 14.76 | 14.75 | 14.73 | 17.35 | 0.17 | 17.3 | 17.49 | 17.08 | -9.9 | 0.25 | -10.02 | -9.67 | -10.33 | -10.34 | 0.53 | -11.22 | -9.88 | -11.22 | -10.82 | 0.79 | -11.17 | -9.58 | -11.49 | 1 | 336 | -24 | -17 | 11 | -34 | 13 | 343 | 11 | 326 | 341 | -19 | -17 | 0 | -28 | 9 | 343 | 0 | 332 | 8.05 | 1.69 | 10.2 | 10.8 | 5.3 | 8.07 | 0.77 | 9.7 | 10.0 | 6.9 | -7.53 | 0.88 | -9.29 | -5.95 | -9.48 | 2.03 | 1.09 | 2.37 | 4.47 | 0.2 | 2.4 | 0.73 | 3.22 | 4.05 | 0.7 |
| 60 | 2025-05-01T21:06:13Z | 1027.36 | 0.0 | 1027.34 | 1027.47 | 1027.34 | 745.02 | 0.0 | 745.0 | 745.1 | 745.0 | -0.28 | 1 | 1 | 1 | 1 | 1 | 16 | 1 | 15 | 17 | 15 | 15 | 2 | 15 | 17 | 13 | 15 | 2 | -- | 17 | 13 | 2025-05-01T21:05:43Z | 18.05 | 0.0 | 18.08 | 18.05 | 18.04 | 15.89 | 0.08 | 15.86 | 15.96 | 15.76 | 14.76 | 0.02 | 14.71 | 14.78 | 14.74 | 17.47 | 0.14 | 17.42 | 17.65 | 17.3 | -10.03 | 0.49 | -10.72 | -9.45 | -10.72 | -11.87 | 1.42 | -12.72 | -9.68 | -13.19 | -9.23 | 1.71 | -8.87 | -7.73 | -11.7 | 1 | 342 | -18 | -17 | -17 | -34 | 5 | 343 | 343 | 326 | 346 | -14 | -6 | -6 | -22 | 5 | 354 | 354 | 338 | 9.25 | 1.17 | 9.7 | 11.4 | 7.2 | 9.05 | 0.73 | 9.0 | 10.5 | 7.8 | -8.03 | 0.79 | -7.89 | -6.45 | -9.78 | 2.2 | 0.75 | 3.83 | 3.8 | 0.85 | 2.35 | 0.78 | 2.07 | 4.22 | 0.45 |
| 60 | 2025-05-01T21:07:13Z | 1027.33 | 13.55 | 1027.34 | 1048.76 | 1005.88 | 745.0 | 10.44 | 744.9 | 761.5 | 728.5 | -0.25 | 1 | 1 | 1 | 1 | 1 | 15 | 1 | 16 | 16 | 14 | 16 | 1 | 15 | 17 | 14 | 14 | 1 | 14 | 15 | 13 | 2025-05-01T21:06:43Z | 18.07 | 0.01 | 18.06 | 18.1 | 18.05 | 15.87 | 0.03 | 15.85 | 15.91 | 15.83 | 14.71 | 0.01 | 14.71 | 14.73 | 14.7 | 17.66 | 0.29 | 17.19 | 18.07 | 17.42 | -10.79 | 0.66 | -10.07 | -10.07 | -11.9 | -11.2 | 1.06 | -9.95 | -9.95 | -12.58 | -9.73 | 1.1 | -8.7 | -8.7 | -10.88 | 1 | 343 | -17 | -17 | -17 | -34 | 3 | 343 | 343 | 326 | 345 | -15 | -6 | -6 | -22 | 6 | 354 | 354 | 338 | 9.15 | 1.08 | 9.3 | 10.6 | 6.9 | 8.9 | 0.57 | 9.8 | 10.1 | 7.5 | -8.13 | 0.78 | -8.67 | -6.63 | -10.35 | 2.8 | 0.79 | 3.43 | 4.35 | 1.1 | 2.65 | 0.74 | 2.19 | 4.25 | 0.9 |
| 60 | 2025-05-01T21:08:12Z | 1027.36 | 3.87 | 1027.34 | 1033.44 | 1021.23 | 745.02 | 2.95 | 745.0 | 749.7 | 740.3 | -0.18 | 1 | 1 | 1 | 1 | 1 | 16 | 0 | 17 | 17 | 16 | 15 | 2 | 18 | 18 | 14 | 14 | 1 | 16 | 15 | 13 | 2025-05-01T21:07:42Z | 18.08 | 0.01 | 18.09 | 18.1 | 18.06 | 15.7 | 0.11 | 15.53 | 15.85 | 15.56 | 14.66 | 0.03 | 14.61 | 14.71 | 14.63 | 17.49 | 0.16 | 17.69 | 17.69 | 17.19 | -9.82 | 0.1 | -9.73 | -9.73 | -9.99 | -11.39 | 1.31 | -9.45 | -9.45 | -12.97 | -10.4 | 0.65 | -9.43 | -9.43 | -10.78 | 1 | 343 | -17 | -17 | -17 | -17 | 0 | 343 | 343 | 343 | 348 | -12 | -11 | -6 | -17 | 3 | 349 | 354 | 343 | 9.35 | 0.93 | 9.2 | 11.3 | 7.5 | 9.48 | 0.63 | 8.5 | 10.8 | 8.5 | -8.25 | 0.63 | -8.03 | -7.33 | -9.78 | 2.85 | 0.46 | 2.25 | 3.6 | 1.95 | 2.25 | 0.56 | 2.83 | 3.88 | 1.52 |
| 60 | 2025-05-01T21:09:13Z | 1027.34 | 0.0 | 1027.34 | 1027.34 | 1027.34 | 745.0 | 0.0 | 745.1 | 745.0 | 745.0 | -0.2 | 1 | 1 | 1 | 1 | 1 | 17 | 0 | 17 | 17 | 17 | 18 | 1 | 18 | 18 | 17 | 13 | 4 | -- | 16 | 10 | 2025-05-01T21:08:43Z | 18.08 | 0.01 | 18.08 | 18.11 | 18.06 | 15.66 | 0.13 | 15.96 | 15.85 | 15.53 | 14.67 | 0.04 | 14.8 | 14.71 | 14.61 | 17.69 | 0.12 | 17.65 | 17.84 | 17.53 | -9.12 | 0.18 | -8.94 | -8.94 | -9.43 | -9.62 | 0.41 | -10.28 | -9.17 | -10.28 | -11.03 | 4.09 | -- | -8.14 | -13.93 | 1 | 339 | -21 | -17 | -17 | -34 | 8 | 343 | 343 | 326 | 344 | -16 | -11 | -6 | -28 | 6 | 349 | 354 | 332 | 9.05 | 0.89 | 10.7 | 10.5 | 7.4 | 9.25 | 0.74 | 9.5 | 10.8 | 8.1 | -8.35 | 0.5 | -9.19 | -7.08 | -9.1 | 2.42 | 0.77 | 2.68 | 4.8 | 0.93 | 2.63 | 0.64 | 3.45 | 3.75 | 1.02 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 60 | 2025-05-02T09:51:11Z | 1027.49 | 0.0 | 1027.6 | 1027.6 | 1027.47 | 745.12 | 0.05 | 745.2 | 745.2 | 745.1 | -0.5 | 1 | 1 | 1 | 1 | 1 | 13 | 0 | 13 | 13 | 13 | 13 | 0 | 13 | 13 | 13 | 13 | 0 | 13 | 13 | 13 | 2025-05-02T09:50:41Z | 17.1 | 0.01 | 17.1 | 17.12 | 17.08 | 14.72 | 0.03 | 14.64 | 14.76 | 14.67 | 14.85 | 0.01 | 14.84 | 14.87 | 14.84 | 15.68 | 0.18 | 15.32 | 15.97 | 15.51 | -13.01 | 0.04 | -13.05 | -12.95 | -13.05 | -13.12 | 0.05 | -13.2 | -13.07 | -13.2 | -12.93 | 0.24 | -12.95 | -12.46 | -13.11 | 1 | 8 | 8 | 11 | 11 | 6 | 3 | 11 | 11 | 6 | 2 | 2 | -6 | 11 | -11 | 6 | 354 | 11 | 349 | 4.05 | 0.42 | 4.2 | 4.9 | 3.2 | 4.9 | 0.47 | 6.6 | 5.8 | 4.0 | -4.05 | 0.46 | -5.18 | -3.35 | -5.43 | 2.88 | 0.19 | 2.8 | 3.35 | 2.5 | 1.63 | 0.24 | 1.73 | 2.2 | 1.1 |
| 60 | 2025-05-02T09:52:11Z | 1027.47 | 0.09 | 1027.47 | 1027.6 | 1027.34 | 745.1 | 0.15 | 745.1 | 745.2 | 745.0 | -0.58 | 1 | 1 | 1 | 1 | 1 | 14 | 0 | 14 | 14 | 13 | 13 | 0 | 13 | 13 | 13 | 13 | 1 | 13 | 13 | 12 | 2025-05-02T09:51:41Z | 17.08 | 0.01 | 17.1 | 17.1 | 17.06 | 14.65 | 0.04 | 14.75 | 14.74 | 14.62 | 14.89 | 0.04 | 14.99 | 14.94 | 14.84 | 15.32 | 0.09 | 15.09 | 15.4 | 15.17 | -12.94 | 0.1 | -12.83 | -12.83 | -13.08 | -13.16 | 0.06 | -13.06 | -13.06 | -13.21 | -13.13 | 0.47 | -- | -12.64 | -13.73 | 1 | 353 | -7 | -17 | 11 | -34 | 18 | 343 | 11 | 326 | 346 | -14 | 0 | 0 | -34 | 11 | 360 | 0 | 326 | 5.13 | 0.93 | 4.7 | 7.1 | 4.0 | 6.05 | 0.54 | 4.7 | 6.9 | 5.0 | -5.25 | 0.84 | -4.01 | -3.95 | -7.13 | 1.95 | 0.77 | 0.99 | 2.95 | 0.23 | 1.77 | 0.44 | 2.13 | 3.03 | 1.08 |
| 60 | 2025-05-02T09:53:11Z | 1027.44 | 0.23 | 1027.47 | 1027.47 | 1027.34 | 745.08 | 0.24 | 745.1 | 745.1 | 745.0 | -0.58 | 1 | 1 | 1 | 1 | 1 | 14 | 0 | 14 | 14 | 13 | 13 | 0 | 13 | 13 | 13 | 13 | 0 | 13 | 13 | 12 | 2025-05-02T09:52:41Z | 17.1 | 0.01 | 17.08 | 17.11 | 17.08 | 14.73 | 0.02 | 14.69 | 14.76 | 14.7 | 14.99 | 0.01 | 14.97 | 15.0 | 14.97 | 15.19 | 0.06 | 15.32 | 15.28 | 15.09 | -12.94 | 0.04 | -12.92 | -12.88 | -13.0 | -13.15 | 0.06 | -13.09 | -13.08 | -13.21 | -13.09 | 0.41 | -12.92 | -12.82 | -13.91 | 1 | 337 | -23 | -17 | -17 | -39 | 9 | 343 | 343 | 321 | 340 | -20 | -17 | 0 | -39 | 11 | 343 | 0 | 321 | 5.33 | 0.53 | 4.4 | 6.4 | 4.5 | 5.47 | 0.72 | 5.1 | 7.1 | 4.3 | -5.15 | 0.58 | -4.38 | -4.0 | -6.6 | 1.1 | 0.73 | 2.04 | 2.08 | -0.25 | 1.8 | 0.38 | 1.14 | 2.5 | 1.08 |
| 60 | 2025-05-02T09:54:11Z | 1027.49 | 0.0 | 1027.47 | 1027.6 | 1027.47 | 745.12 | 0.05 | 745.1 | 745.2 | 745.1 | -0.53 | 1 | 1 | 1 | 1 | 1 | 14 | 0 | 14 | 14 | 14 | 13 | 0 | 13 | 13 | 13 | 13 | 0 | 14 | 13 | 13 | 2025-05-02T09:53:41Z | 17.09 | 0.01 | 17.07 | 17.11 | 17.08 | 14.68 | 0.01 | 14.69 | 14.69 | 14.66 | 14.95 | 0.01 | 14.94 | 14.97 | 14.94 | 15.28 | 0.04 | 15.4 | 15.32 | 15.21 | -12.88 | 0.03 | -12.83 | -12.83 | -12.92 | -13.06 | 0.02 | -13.06 | -13.04 | -13.1 | -12.89 | 0.06 | -12.92 | -12.83 | -12.95 | 1 | 350 | -10 | 11 | 11 | -17 | 12 | 11 | 11 | 343 | 352 | -8 | 0 | 0 | -22 | 7 | 360 | 0 | 338 | 4.97 | 0.56 | 5.3 | 6.8 | 3.8 | 5.28 | 0.46 | 6.2 | 6.1 | 4.1 | -4.6 | 0.46 | -4.55 | -3.63 | -5.65 | 2.3 | 0.27 | 3.01 | 3.0 | 1.7 | 1.45 | 0.26 | 1.58 | 1.93 | 0.78 |
| 60 | 2025-05-02T09:55:11Z | 1027.44 | 6.38 | 1027.47 | 1037.47 | 1017.33 | 745.08 | 4.91 | 745.1 | 752.8 | 737.3 | -0.58 | 1 | 1 | 1 | 1 | 1 | 14 | 0 | 14 | 14 | 14 | 13 | 0 | 13 | 13 | 13 | 13 | 1 | -- | 14 | 12 | 2025-05-02T09:54:41Z | 17.09 | 0.01 | 17.1 | 17.09 | 17.07 | 14.68 | 0.01 | 14.63 | 14.69 | 14.67 | 14.94 | 0.01 | 14.98 | 14.95 | 14.92 | 15.46 | 0.12 | 15.51 | 15.63 | 15.32 | -12.78 | 0.07 | -12.78 | -12.7 | -12.88 | -13.05 | 0.07 | -13.11 | -12.95 | -13.12 | -12.56 | 0.66 | -13.21 | -11.86 | -13.32 | 1 | 357 | -3 | -17 | 11 | -17 | 14 | 343 | 11 | 343 | 351 | -9 | 0 | 6 | -22 | 9 | 360 | 6 | 338 | 5.25 | 0.67 | 5.9 | 6.5 | 4.0 | 5.8 | 0.62 | 6.4 | 7.3 | 4.9 | -4.85 | 0.49 | -5.27 | -3.88 | -6.15 | 2.38 | 0.57 | 2.51 | 3.3 | 1.25 | 1.3 | 0.43 | 1.64 | 1.95 | -0.23 |
| 60 | 2025-05-02T09:56:10Z | 1027.47 | 3.77 | 1027.47 | 1033.44 | 1021.49 | 745.1 | 2.91 | 745.1 | 749.7 | 740.5 | -0.53 | 1 | 1 | 1 | 1 | 1 | 14 | 0 | 14 | 14 | 14 | 13 | 0 | 13 | 13 | 13 | 14 | 0 | -- | 14 | 13 | 2025-05-02T09:55:40Z | 17.09 | 0.01 | 17.06 | 17.1 | 17.06 | 14.62 | 0.04 | 14.75 | 14.69 | 14.58 | 15.0 | 0.02 | 15.03 | 15.03 | 14.98 | 15.75 | 0.18 | 15.51 | 15.97 | 15.51 | -12.8 | 0.05 | -12.76 | -12.75 | -12.89 | -13.01 | 0.06 | -12.99 | -12.91 | -13.09 | -11.9 | 0.47 | -12.52 | -11.44 | -12.52 | 1 | 352 | -8 | 6 | 11 | -17 | 13 | 6 | 11 | 343 | 349 | -11 | 11 | 0 | -34 | 11 | 11 | 0 | 326 | 5.53 | 0.4 | 4.1 | 6.0 | 4.4 | 5.95 | 0.46 | 4.9 | 6.9 | 4.7 | -5.05 | 0.41 | -3.23 | -4.45 | -6.33 | 2.15 | 0.63 | 2.9 | 3.17 | 0.65 | 1.85 | 0.29 | 2.2 | 2.42 | 1.1 |
| 60 | 2025-05-02T09:57:10Z | 1027.41 | 48.9 | 1027.47 | 1104.6 | 949.97 | 745.1 | 37.63 | 745.1 | 804.6 | 685.6 | -0.5 | 1 | 1 | 1 | 1 | 1 | 14 | 0 | 13 | 14 | 13 | 13 | 0 | 13 | 13 | 13 | 13 | 0 | 13 | 13 | 13 | 2025-05-02T09:56:40Z | 17.09 | 0.02 | 17.08 | 17.11 | 17.06 | 14.78 | 0.03 | 14.74 | 14.81 | 14.75 | 15.02 | 0.02 | 14.97 | 15.04 | 14.99 | 15.45 | 0.06 | 15.47 | 15.51 | 15.4 | -12.72 | 0.12 | -12.93 | -12.55 | -12.93 | -13.05 | 0.06 | -13.14 | -12.99 | -13.14 | -12.79 | 0.08 | -12.74 | -12.71 | -12.91 | 1 | 5 | 5 | 11 | 11 | -17 | 10 | 11 | 11 | 343 | 358 | -2 | -6 | 11 | -17 | 8 | 354 | 11 | 343 | 4.47 | 0.93 | 4.1 | 6.5 | 3.4 | 5.38 | 0.42 | 5.3 | 6.1 | 4.4 | -4.4 | 0.63 | -3.99 | -3.05 | -6.08 | 2.67 | 0.49 | 2.09 | 3.42 | 1.48 | 1.43 | 0.42 | 1.53 | 2.5 | 0.57 |
| 60 | 2025-05-02T09:58:10Z | 1027.44 | 0.0 | 1027.47 | 1027.47 | 1027.34 | 745.08 | 0.0 | 745.1 | 745.1 | 745.0 | -0.52 | 1 | 1 | 1 | 1 | 1 | 14 | 0 | 13 | 14 | 13 | 13 | 0 | 13 | 13 | 13 | 12 | 1 | 13 | 13 | 11 | 2025-05-02T09:57:40Z | 17.08 | 0.01 | 17.05 | 17.1 | 17.08 | 14.77 | 0.03 | 14.89 | 14.82 | 14.74 | 15.01 | 0.02 | 15.05 | 15.04 | 14.97 | 15.47 | 0.07 | 15.24 | 15.55 | 15.36 | -12.83 | 0.06 | -12.77 | -12.77 | -12.94 | -13.31 | 0.05 | -13.21 | -13.21 | -13.36 | -13.47 | 0.82 | -14.24 | -12.63 | -14.58 | 1 | 6 | 6 | 6 | 11 | -17 | 9 | 6 | 11 | 343 | 356 | -4 | 0 | 11 | -17 | 7 | 360 | 11 | 343 | 4.47 | 0.43 | 5.0 | 5.5 | 3.6 | 5.65 | 0.4 | 5.7 | 6.5 | 4.7 | -4.22 | 0.47 | -4.11 | -3.23 | -5.4 | 2.78 | 0.46 | 3.03 | 3.7 | 1.7 | 1.3 | 0.32 | 0.99 | 2.13 | 0.68 |
| 60 | 2025-05-02T09:59:10Z | 1027.44 | 6.65 | 1027.47 | 1037.99 | 1016.94 | 745.08 | 5.13 | 745.1 | 753.2 | 737.0 | -0.48 | 1 | 1 | 1 | 1 | 1 | 13 | 0 | 13 | 14 | 13 | 13 | 0 | 13 | 13 | 13 | 13 | 0 | 13 | 14 | 13 | 2025-05-02T09:58:40Z | 17.06 | 0.01 | 17.06 | 17.08 | 17.05 | 14.85 | 0.05 | 14.77 | 14.9 | 14.79 | 15.03 | 0.02 | 14.97 | 15.05 | 14.99 | 15.26 | 0.1 | 15.4 | 15.4 | 15.09 | -12.87 | 0.08 | -12.96 | -12.76 | -12.96 | -13.06 | 0.06 | -13.02 | -12.98 | -13.15 | -12.65 | 0.4 | -12.51 | -12.02 | -13.03 | 1 | 5 | 5 | 6 | 11 | -17 | 10 | 6 | 11 | 343 | 1 | 1 | 6 | 11 | -6 | 5 | 6 | 11 | 354 | 4.43 | 0.78 | 3.7 | 6.7 | 3.4 | 5.9 | 0.74 | 5.3 | 7.3 | 4.5 | -4.4 | 0.65 | -3.71 | -3.5 | -5.7 | 3.05 | 0.21 | 3.04 | 3.53 | 2.6 | 1.38 | 0.35 | 1.55 | 2.3 | 0.73 |
| 60 | 2025-05-02T10:00:10Z | 1027.47 | 41.71 | 1027.47 | 1093.35 | 961.46 | 745.13 | 32.1 | 745.0 | 795.9 | 694.4 | -0.48 | 1 | 1 | 1 | 1 | 1 | 13 | 0 | 13 | 13 | 13 | 13 | 0 | 13 | 13 | 13 | 13 | 1 | 13 | 14 | 13 | 2025-05-02T09:59:40Z | 17.08 | 0.01 | 17.09 | 17.09 | 17.06 | 14.74 | 0.03 | 14.78 | 14.79 | 14.72 | 14.94 | 0.02 | 14.93 | 14.97 | 14.92 | 15.26 | 0.13 | 15.09 | 15.4 | 15.09 | -13.08 | 0.09 | -12.96 | -12.96 | -13.18 | -13.15 | 0.1 | -13.29 | -13.04 | -13.29 | -12.88 | 0.58 | -12.94 | -11.75 | -13.35 | 1 | 3 | 3 | -17 | 11 | -17 | 12 | 343 | 11 | 343 | 360 | 0 | -17 | 6 | -17 | 6 | 343 | 6 | 343 | 4.03 | 0.65 | 5.8 | 5.5 | 3.2 | 5.33 | 0.46 | 5.3 | 5.9 | 4.2 | -4.22 | 0.56 | -5.57 | -3.4 | -5.8 | 2.67 | 0.4 | 1.53 | 3.85 | 1.8 | 1.35 | 0.38 | 1.17 | 2.0 | 0.08 |