Skip to content

Commit 5a7da0f

Browse files
committed
dev
1 parent 7dac03f commit 5a7da0f

File tree

2 files changed

+45
-41
lines changed

2 files changed

+45
-41
lines changed

cf/read_write/read.py

Lines changed: 42 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -661,7 +661,7 @@ def __new__(
661661
ftype = "UM"
662662
else:
663663
try:
664-
ftype = cls.file_type(filename)
664+
ftype = cls.file_format(filename)
665665
except Exception as error:
666666
if not ignore_read_error:
667667
raise ValueError(error)
@@ -908,46 +908,47 @@ def _read_a_file(
908908
if umversion is not None:
909909
umversion = float(str(umversion).replace(".", "0", 1))
910910

911-
extra_read_vars = {
912-
"fmt": selected_fmt,
913-
"ignore_read_error": ignore_read_error,
914-
}
911+
# extra_read_vars = {
912+
# "fmt": selected_fmt,
913+
# "ignore_read_error": ignore_read_error,
914+
# }
915915

916916
# ----------------------------------------------------------------
917917
# Still here? Read the file into fields or domains.
918918
# ----------------------------------------------------------------
919-
originally_cdl = ftype == "CDL"
920-
if originally_cdl:
921-
# Create a temporary netCDF file from input CDL
922-
ftype = "netCDF"
923-
cdl_filename = filename
924-
filename = cls.netcdf.cdl_to_netcdf(filename)
925-
extra_read_vars["fmt"] = "NETCDF"
926-
927-
if not cls.netcdf.is_netcdf_file(filename):
928-
error_msg = (
929-
f"Can't determine format of file {filename} generated "
930-
f"from CDL file {cdl_filename}"
931-
)
932-
if ignore_read_error:
933-
logger.warning(error_msg) # pragma: no cover
934-
return FieldList()
935-
else:
936-
raise IOError(error_msg)
937-
938-
if ftype == "netCDF" and extra_read_vars["fmt"] in (
939-
None,
940-
"NETCDF",
941-
"CFA",
942-
):
919+
# originally_cdl = ftype == "CDL"
920+
# if originally_cdl:
921+
# # Create a temporary netCDF file from input CDL
922+
# ftype = "netCDF"
923+
# cdl_filename = filename
924+
# filename = cls.netcdf.cdl_to_netcdf(filename)
925+
# extra_read_vars["fmt"] = "NETCDF"
926+
#
927+
# if not cls.netcdf.is_netcdf_file(filename):
928+
# error_msg = (
929+
# f"Can't determine format of file {filename} generated "
930+
# f"from CDL file {cdl_filename}"
931+
# )
932+
# if ignore_read_error:
933+
# logger.warning(error_msg) # pragma: no cover
934+
# return FieldList()
935+
# else:
936+
# raise IOError(error_msg)
937+
938+
if ftype in ("netCDF", "CDL"): # and extra_read_vars["fmt"] in (
939+
# None,
940+
# "NETCDF",
941+
# "CDL",
942+
# "CFA",
943+
# ):
943944
out = super().__new__(
944945
cls,
945946
filename,
946947
external=external,
947948
extra=extra,
948949
verbose=verbose,
949950
warnings=warnings,
950-
extra_read_vars=extra_read_vars,
951+
# extra_read_vars=extra_read_vars,
951952
mask=mask,
952953
unpack=unpack,
953954
warn_valid=warn_valid,
@@ -963,7 +964,7 @@ def _read_a_file(
963964
squeeze=squeeze,
964965
unsqueeze=unsqueeze,
965966
)
966-
elif ftype == "UM" and extra_read_vars["fmt"] in (None, "UM"):
967+
elif ftype == "UM": # and extra_read_vars["fmt"] in (None, "UM"):
967968
if domain:
968969
raise ValueError(
969970
"Can't set domain=True when reading UM or PP datasets"
@@ -997,7 +998,7 @@ def _read_a_file(
997998
return FieldList(out)
998999

9991000
@classmethod
1000-
def file_type(cls, filename):
1001+
def file_format(cls, filename):
10011002
"""Return the file format.
10021003
10031004
:Parameters:
@@ -1013,27 +1014,28 @@ def file_type(cls, filename):
10131014
10141015
**Examples**
10151016
1016-
>>> file_type(filename)
1017+
>>> r.file_format(filename)
10171018
'netCDF'
10181019
10191020
"""
10201021
# ----------------------------------------------------------------
10211022
# NetCDF
10221023
# ----------------------------------------------------------------
1023-
if cls.netcdf.is_netcdf_file(filename):
1024-
return "netCDF"
1024+
fmt = cls.netcdf.file_format(filename)
1025+
if fmt:
1026+
return fmt
10251027

10261028
# ----------------------------------------------------------------
10271029
# PP or FF
10281030
# ----------------------------------------------------------------
10291031
if cls.um.is_um_file(filename):
10301032
return "UM"
10311033

1032-
# ----------------------------------------------------------------
1033-
# CDL
1034-
# ----------------------------------------------------------------
1035-
if cls.netcdf.is_cdl_file(filename):
1036-
return "CDL"
1034+
# # ----------------------------------------------------------------
1035+
# # CDL
1036+
# # ----------------------------------------------------------------
1037+
# if cls.netcdf.is_cdl_file(filename):
1038+
# return "CDL"
10371039

10381040
# Still here?
10391041
raise IOError(f"Can't determine format of file {filename}")

cf/umread_lib/umfile.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,9 @@ def _detect_file_type(self):
132132
file_type_obj = c.detect_file_type(self.fd)
133133
except Exception:
134134
self.close_fd()
135-
raise IOError(f"File {self.path} has unsupported format")
135+
raise IOError(
136+
f"Could not interpret {self.path} as a PP or UM dataset"
137+
)
136138

137139
d = c.file_type_obj_to_dict(file_type_obj)
138140
self.fmt = d["fmt"]

0 commit comments

Comments
 (0)