Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 30 additions & 21 deletions argopy/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,27 +22,35 @@
log.addHandler(logging.NullHandler())

# Import facades:
from .fetchers import ArgoDataFetcher as DataFetcher # noqa: E402
from .fetchers import ArgoIndexFetcher as IndexFetcher # noqa: E402
from argopy.fetchers import ArgoDataFetcher as DataFetcher # noqa: E402
from argopy.fetchers import ArgoIndexFetcher as IndexFetcher # noqa: E402

from .xarray import ArgoAccessor # noqa: E402
from argopy.xarray import ArgoAccessor # noqa: E402

# Other Import
# from . import utils # noqa: E402
from . import stores # noqa: E402
from . import errors # noqa: E402
from . import plot # noqa: E402
from . import tutorial # noqa: E402
from .plot import dashboard, ArgoColors # noqa: E402
from .options import set_options, reset_options # noqa: E402
from .data_fetchers import CTDRefDataFetcher # noqa: E402
from .stores import ArgoIndex, ArgoFloat, gdacfs # noqa: E402
from .utils import show_versions, show_options # noqa: E402
from .utils import clear_cache, lscache # noqa: E402
from .utils import MonitoredThreadPoolExecutor # noqa: E402, F401
from .utils import monitor_status as status # noqa: E402
from .related import TopoFetcher, OceanOPSDeployments, ArgoNVSReferenceTables, ArgoDocs, ArgoDOI # noqa: E402
from .extensions import CanyonMED # noqa: E402
# from argopy import errors # noqa: E402
# from argopy import plot # noqa: E402
import argopy.tutorial # noqa: E402
from argopy.plot.dashboards import open_dashboard as dashboard
from argopy.plot.argo_colors import ArgoColors # noqa: E402
from argopy.options import set_options, reset_options # noqa: E402
from argopy.data_fetchers.erddap_refdata import Fetch_box as CTDRefDataFetcher # noqa: E402
from argopy.stores.index.argo_index import ArgoIndex # noqa: E402
from argopy.stores.float.argo_float import ArgoFloat # noqa: E402
from argopy.stores.implementations.gdac import gdacfs # noqa: E402
from argopy.utils.locals import show_versions, show_options # noqa: E402
from argopy.utils.caching import clear_cache, lscache # noqa: E402
from argopy.utils.monitored_threadpool import MyThreadPoolExecutor as MonitoredThreadPoolExecutor # noqa: E402, F401
from argopy.utils.monitors import monitor_status as status # noqa: E402
from argopy.related.topography import TopoFetcher
from argopy.related.ocean_ops_deployments import OceanOPSDeployments
from argopy.related.reference_tables import ArgoNVSReferenceTables
from argopy.related.argo_documentation import ArgoDocs
from argopy.related.doi_snapshot import ArgoDOI # noqa: E402
# from argopy.extensions.canyon_med import CanyonMED # noqa: E402
# from argopy.extensions.canyon_b import CanyonB # noqa: E402
# from argopy.extensions.carbonate_content import CONTENT # noqa: E402


#
Expand Down Expand Up @@ -77,14 +85,15 @@

# Submodules:
# "utils",
"errors",
"plot",
# "errors",
# "plot",
"ArgoColors", # Class
"stores",
"tutorial",

# Argo xarray accessor extensions
"CanyonMED",
# "CanyonMED",
# "CanyonB",
# "CONTENT",

# Constants
"__version__"
Expand Down
38 changes: 19 additions & 19 deletions argopy/data_fetchers/__init__.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
"""
This package contains implementations for data and index fetchers for specific data sources. Most of these fetchers are meant to be used and discovered automatically by the facades (in fetchers.py) and by utilities functions list_available_data_src() and list_available_index_src()
"""

from .erddap_refdata import Fetch_box as CTDRefDataFetcher
from . import erddap_data
from . import erddap_index
from . import argovis_data
from . import gdac_data
from . import gdac_index

__all__ = (
"erddap_data",
"erddap_index",
"argovis_data",
"gdac_data",
"gdac_index",
"CTDRefDataFetcher",
)
# """
# This package contains implementations for data and index fetchers for specific data sources. Most of these fetchers are meant to be used and discovered automatically by the facades (in fetchers.py) and by utilities functions list_available_data_src() and list_available_index_src()
# """
#
# from argopy.data_fetchers.erddap_refdata import Fetch_box as CTDRefDataFetcher
# import argopy.data_fetchers.erddap_data
# import argopy.data_fetchers.erddap_index
# import argopy.data_fetchers.argovis_data
# import argopy.data_fetchers.gdac_data
# import argopy.data_fetchers.gdac_index
#
# __all__ = (
# "erddap_data",
# "erddap_index",
# "argovis_data",
# "gdac_data",
# "gdac_index",
# "CTDRefDataFetcher",
# )
15 changes: 8 additions & 7 deletions argopy/data_fetchers/argovis_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@
from abc import abstractmethod
import warnings

from ..stores import httpstore
from ..options import OPTIONS, DEFAULT, PARALLEL_SETUP
from ..utils.chunking import Chunker
from ..errors import DataNotFound
from .. import __version__
from .proto import ArgoDataFetcherProto
from .argovis_data_processors import pre_process, add_attributes
from argopy import __version__
from argopy.errors import DataNotFound
from argopy.options import OPTIONS, DEFAULT, PARALLEL_SETUP
from argopy.stores.implementations.http import httpstore
from argopy.utils.chunking import Chunker
from argopy.data_fetchers.proto import ArgoDataFetcherProto
from argopy.data_fetchers.argovis_data_processors import pre_process, add_attributes


access_points = ["wmo", "box"]
exit_formats = ["xarray"]
Expand Down
2 changes: 1 addition & 1 deletion argopy/data_fetchers/argovis_data_processors.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import pandas as pd
import xarray as xr
from typing import Any
from ..utils import list_bgc_s_parameters
from argopy.utils.lists import list_bgc_s_parameters


def pre_process(profiles: Any, key_map: dict = None) -> pd.DataFrame:
Expand Down
18 changes: 10 additions & 8 deletions argopy/data_fetchers/erddap_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,16 @@
from erddapy.erddapy import ERDDAP, parse_dates
from erddapy.erddapy import _quote_string_constraints as quote_string_constraints

from ..options import OPTIONS, PARALLEL_SETUP
from ..utils.lists import list_bgc_s_variables, list_core_parameters
from ..errors import ErddapServerError, DataNotFound
from ..stores import httpstore, has_distributed, distributed
from ..stores.index import indexstore_pd as ArgoIndex
from ..utils import is_list_of_strings, to_list, Chunker
from .proto import ArgoDataFetcherProto
from .erddap_data_processors import pre_process
from argopy.options import OPTIONS, PARALLEL_SETUP
from argopy.errors import ErddapServerError, DataNotFound
from argopy.utils.lists import list_bgc_s_variables, list_core_parameters
from argopy.utils.checkers import is_list_of_strings, to_list
from argopy.utils.chunking import Chunker
from argopy.stores.implementations.http import httpstore
from argopy.stores.filesystems import has_distributed, distributed
from argopy.stores.index.implementations.pandas.index import indexstore as ArgoIndex
from argopy.data_fetchers.proto import ArgoDataFetcherProto
from argopy.data_fetchers.erddap_data_processors import pre_process


log = logging.getLogger("argopy.erddap.data")
Expand Down
5 changes: 3 additions & 2 deletions argopy/data_fetchers/erddap_data_processors.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
import xarray as xr
import getpass
from urllib.parse import urlparse
from ..utils import to_list, UriCName
from ..utils import list_bgc_s_parameters
from argopy.utils.format import UriCName
from argopy.utils.checkers import to_list
from argopy.utils.lists import list_bgc_s_parameters


def pre_process(
Expand Down
8 changes: 4 additions & 4 deletions argopy/data_fetchers/erddap_index.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@
from erddapy.erddapy import ERDDAP, parse_dates
from erddapy.erddapy import _quote_string_constraints as quote_string_constraints

from ..utils.format import format_oneline
from ..related import load_dict, mapp_dict
from ..stores import httpstore
from ..options import OPTIONS
from argopy.options import OPTIONS
from argopy.utils.format import format_oneline
from argopy.related.utils import load_dict, mapp_dict
from argopy.stores.implementations.http import httpstore

log = logging.getLogger("argopy.fetchers.erddap_index")

Expand Down
14 changes: 7 additions & 7 deletions argopy/data_fetchers/erddap_refdata.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
"""
Fetcher to retrieve ship-based CTD reference data from Ifremer erddap
"""

import xarray as xr
import logging
from ..options import OPTIONS
from ..utils.chunking import Chunker
from ..utils.geo import conv_lon
from ..stores import httpstore_erddap_auth
from .erddap_data import ErddapArgoDataFetcher
from .erddap_data_processors import _add_attributes

from argopy.options import OPTIONS
from argopy.utils.chunking import Chunker
from argopy.utils.geo import conv_lon
from argopy.stores.implementations.http_erddap import httpstore_erddap_auth
from argopy.data_fetchers.erddap_data import ErddapArgoDataFetcher
from argopy.data_fetchers.erddap_data_processors import _add_attributes

# Load erddapy according to available version (breaking changes in v0.8.0)
try:
Expand Down
13 changes: 7 additions & 6 deletions argopy/data_fetchers/gdac_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,13 @@
import logging
from typing import Literal

from ..utils.format import argo_split_path
from ..options import OPTIONS, check_gdac_option, PARALLEL_SETUP
from ..errors import DataNotFound
from ..stores import ArgoIndex, has_distributed, distributed
from .proto import ArgoDataFetcherProto
from .gdac_data_processors import pre_process_multiprof
from argopy.utils.format import argo_split_path
from argopy.options import OPTIONS, check_gdac_option, PARALLEL_SETUP
from argopy.errors import DataNotFound
from argopy.stores.index.argo_index import ArgoIndex
from argopy.stores.filesystems import has_distributed, distributed
from argopy.data_fetchers.proto import ArgoDataFetcherProto
from argopy.data_fetchers.gdac_data_processors import pre_process_multiprof


log = logging.getLogger("argopy.gdac.data")
Expand Down
8 changes: 4 additions & 4 deletions argopy/data_fetchers/gdac_index.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
import warnings
import logging

from ..utils.format import format_oneline
from ..options import OPTIONS, check_gdac_option
from ..plot import dashboard
from ..stores import ArgoIndex
from argopy.utils.format import format_oneline
from argopy.options import OPTIONS, check_gdac_option
from argopy.plot.dashboards import open_dashboard as dashboard
from argopy.stores.index.argo_index import ArgoIndex


log = logging.getLogger("argopy.gdac.index")
Expand Down
7 changes: 4 additions & 3 deletions argopy/data_fetchers/proto.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@
import hashlib
import warnings
import logging
from ..plot import dashboard
from ..utils.lists import list_standard_variables
from ..utils.format import UriCName, format_oneline

from argopy.plot.dashboards import open_dashboard as dashboard
from argopy.utils.lists import list_standard_variables
from argopy.utils.format import UriCName, format_oneline


log = logging.getLogger("argopy.fetcher.proto")
Expand Down
32 changes: 16 additions & 16 deletions argopy/extensions/__init__.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
from .utils import register_argo_accessor, ArgoAccessorExtension
from .canyon_med import CanyonMED
from .canyon_b import CanyonB
from .carbonate_content import CONTENT
from .params_data_mode import ParamsDataMode
from .optical_modeling import OpticalModeling

# from argopy.extensions.utils import register_argo_accessor, ArgoAccessorExtension
# from argopy.extensions.canyon_med import CanyonMED
# from argopy.extensions.canyon_b import CanyonB
# from argopy.extensions.carbonate_content import CONTENT
# from argopy.extensions.params_data_mode import ParamsDataMode
# from argopy.extensions.optical_modeling import OpticalModeling
#
__all__ = (
"register_argo_accessor",
"ArgoAccessorExtension",
"CanyonMED",
"CanyonB",
"CONTENT",
"ParamsDataMode",
"OpticalModeling",
)
# #
# __all__ = (
# "register_argo_accessor",
# "ArgoAccessorExtension",
# "CanyonMED",
# "CanyonB",
# "CONTENT",
# "ParamsDataMode",
# "OpticalModeling",
# )
25 changes: 9 additions & 16 deletions argopy/extensions/canyon_b.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@
HAS_PYCO2SYS = False
pyco2 = None

from ..errors import InvalidDatasetStructure, DataNotFound
from ..utils import path2assets, to_list, point_in_polygon
from . import register_argo_accessor, ArgoAccessorExtension
from argopy.errors import InvalidDatasetStructure, DataNotFound
from argopy.utils.locals import Asset
from argopy.utils.checkers import to_list
from argopy.utils.geo import point_in_polygon
from argopy.extensions.utils import register_argo_accessor, ArgoAccessorExtension


@register_argo_accessor("canyon_b")
Expand Down Expand Up @@ -98,9 +100,6 @@ def __init__(self, *args, **kwargs):
if self._argo.N_POINTS == 0:
raise DataNotFound("Empty dataset, no data to transform !")

self.path2coef = Path(path2assets).joinpath(
"canyon-b"
) # Path to CANYON-B assets

def get_param_attrs(self, param: str) -> dict:
"""
Expand Down Expand Up @@ -375,22 +374,16 @@ def load_weights(self, param: str) -> pd.DataFrame:

Returns
-------
pd.DataFrame
:class:`pd.DataFrame`
DataFrame containing the neural network weights for the specified parameter.
"""

if param in ["AT", "pCO2", "NO3", "PO4", "SiOH4"]:
weights = pd.read_csv(
self.path2coef.joinpath(f"wgts_{param}.txt"), header=None, sep="\t"
)
weights = Asset.load(f"wgts_{param}.txt", header=None, sep="\t")
elif param == "DIC":
weights = pd.read_csv(
self.path2coef.joinpath("wgts_CT.txt"), header=None, sep="\t"
)
weights = Asset.load("wgts_CT.txt", header=None, sep="\t")
else:
weights = pd.read_csv(
self.path2coef.joinpath("wgts_pH.txt"), header=None, sep="\t"
)
weights = Asset.load("wgts_pH.txt", header=None, sep="\t")

return weights

Expand Down
Loading
Loading