annotate xarray_import_data.py @ 0:f1b185fc409a draft default tip

planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
author ecology
date Thu, 14 Aug 2025 08:54:07 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
1 """Import OPeNDAP dataset using xarray to a netCDF file."""
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
2
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
3 import argparse
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
4
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
5 import xarray as xr
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
6
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
7 parser = argparse.ArgumentParser()
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
8
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
9 parser.add_argument(
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
10 "opendap_url",
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
11 help=(
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
12 "A valid OPeNDAP URL, also see "
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
13 "https://docs.xarray.dev/en/stable/user-guide/io.html#opendap"
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
14 ),
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
15 )
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
16 parser.add_argument(
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
17 "decode_times",
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
18 type=lambda x: x == "true",
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
19 help='If time should be decoded, e.g. "True" or "False"',
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
20 )
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
21 parser.add_argument(
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
22 "decode_cf",
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
23 type=lambda x: x == "true",
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
24 help=(
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
25 "Whether to decode according to "
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
26 'CF conventions e.g. "true" or "false"'
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
27 ),
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
28 )
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
29 parser.add_argument("output_dataset", help="netCDF file to output")
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
30 args = parser.parse_args()
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
31
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
32 xr.open_dataset(
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
33 args.opendap_url.strip(),
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
34 decode_cf=args.decode_cf,
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
35 decode_times=args.decode_times,
f1b185fc409a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/xarray_import_data commit 99843e9b86bfb355026559d36e29ed5a262aa9b0
ecology
parents:
diff changeset
36 ).to_netcdf(args.output_dataset)