Skip to content

Commit 1f8068b

Browse files
Allow passing a COPERNICUS_USERNAME and COPERNICUS_PASSWORD as enviroment variables (#649)
* allow passing a username and password to CopernicusMetadata * allow username and password * username and password * Update ClimaOceanPythonCallExt.jl
1 parent dac9760 commit 1f8068b

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

ext/ClimaOceanPythonCallExt.jl

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,12 @@ function download_dataset(metadata::CopernicusMetadata; kwargs...)
3535
return paths
3636
end
3737

38-
function download_dataset(meta::CopernicusMetadatum; skip_existing = true, additional_kw...)
38+
function download_dataset(meta::CopernicusMetadatum;
39+
skip_existing=true,
40+
username=get(ENV, "COPERNICUS_USERNAME", nothing),
41+
password=get(ENV, "COPERNICUS_PASSWORD", nothing),
42+
additional_kw...)
43+
3944
output_directory = meta.dir
4045
output_filename = ClimaOcean.DataWrangling.metadata_filename(meta)
4146
output_path = joinpath(output_directory, output_filename)
@@ -71,6 +76,14 @@ function download_dataset(meta::CopernicusMetadatum; skip_existing = true, addit
7176
output_filename,
7277
output_directory)
7378

79+
if !isnothing(username) && !isnothing(password)
80+
kw = merge(kw, (; username, password))
81+
else
82+
@warn "No Copernicus credentials found. \\
83+
Set the COPERNICUS_USERNAME and COPERNICUS_PASSWORD environment variables to download data from the Copernicus Marine Service. \\
84+
You can sign up for free at: https://data.marine.copernicus.eu/register."
85+
end
86+
7487
additional_kw = NamedTuple(name => value for (name, value) in additional_kw)
7588
kw = merge(kw, datetime_kw, lon_kw, lat_kw, z_kw, additional_kw)
7689

0 commit comments

Comments
 (0)