Help us with testing!!!

8 views
Skip to first unread message

Roy Mendelssohn - NOAA Federal

unread,
Aug 20, 2026, 11:47:14 AM (8 days ago) Aug 20
to erDDAP Bob Simons via, 'Micah Wengren' via ioos_tech, Jonathan Sherman - NOAA Affiliate, Lynn deWitt, Dale Robinson - NOAA Affiliate, Cara Wilson - NOAA Federal, Madison Richardson - NOAA Affiliate, Michael Soracco - NOAA Affiliate
Hi All:

We will be migrating our various ERDDAPs™ to the Google Cloud Platform (GCP), and we have a test installation that we would really appreciate if people can provide us with feedback, such as bug reports, speed of responses or lack thereof, or any other problems or comments you can provide. This will not only benefit our group, and we will be very grateful, but we are also providing guidance to other groups on how to migrate to GCP, and any feedback will help us determine if the choices we have made are good ones.

The test ERDDAP™ is public at https://155.206.244.135/erddap/ and will eventually replace the ERDDAP™ at https://coastwatch.pfeg.noaa.gov/erddap/ (note that most but not all of the datasets have been migrated and some datasets may not have the complete data). As you can see there is only an IP, not an URL, so there are a few “tricks” that need to be done to access the data because of the lack of a proper certificate.

1. From a browser - most browsers will give you a warning that the site is not secure but will have options to navigate through to the site. Just choose those options, the main thing is not to be surprised if you get the warning.

2. Using curl - If you access ERDDAP™ using the command “curl”, just use “curl -k” and then proceed as usual.

3. If you use Python:

a. For “erddapy” you must pass “verify: False” at the appropriate place, so a request would look like:

> from erddapy import ERDDAP
> e = ERDDAP(
> server="https://155.206.244.135/erddap",
> protocol="tabledap", # or "griddap"
> )
> e.dataset_id = "datasetID"
> e.requests_kwargs = {"verify": False}
> df = e.to_pandas()
>
or:

> from erddapy.core.interfaces import to_pandas
> df = to_pandas(url, requests_kwargs={"verify": False})
>
or as an actual example:

> from erddapy import ERDDAP
> e = ERDDAP(
> server="https://155.206.244.135/erddap",
> protocol="tabledap",
> response="csv",
> )
> e.dataset_id = "allDatasets"
> e.variables = ["datasetID", "title"]
> e.constraints = {"datasetID=": "erdQCwindproducts1day"}
> df = e.to_pandas(requests_kwargs={"verify": False})
>
b. Using xarray:

The default in xarray is to use OPeNDAP, but there is no simple way to set the needed flag. However you can use the “pydap” engine as:

> import requests
> import xarray as xr
> session = requests.Session()
> session.verify = False
> url = "https://155.206.244.135/erddap/griddap/datasetID"
> ds = xr.open_dataset(url, engine="pydap", session=session)
>

or use “erddapy” as the engine:

> import xarray as xr
> url = "https://155.206.244.135/erddap/griddap/datasetID
> ds = xr.open_dataset(url, engine="erddapy",requests_kwargs={"verify": False})


4. Using R with “rerddap” or “rerddapXtracto”:

With R you would think that something on the order of:

> library(rerddap)
> url <- "https://155.206.244.135/erddap/"
> di <- info("datasetID",
> url = url,
> ssl_verifypeer = 0L,
> ssl_verifyhost = 0L)
>
> out <- griddap(di,
> time = c("2022-03-18", "2022-03-18"),
> latitude = c(32, 34),
> longitude = c(233, 235),
> url = url,
> callopts = list(ssl_verifypeer = 0L, ssl_verifyhost = 0L))
>

would work, and in fact if you somehow have “di” properly defined, the griddap() call will work. Unfortunately there is one part of “info()” that doesn’t pass along the “curl” options (to be fixed in the next release). To get around this I have attached an R script with the function “info_gcp()” which if you just source this file and use the function in place of “rerddap::info()” then everything will work, that is requests of the form:

> library(rerddap)
> source(info_gcp.R)
> url <- "https://155.206.244.135/erddap/"
>
> di <- info_gcp("datasetID",
>
> url = url,
> ssl_verifypeer = 0L,
> ssl_verifyhost = 0L)
> out <- griddap(di,
> time = c("2022-03-18", "2022-03-18"),
> latitude = c(32, 34),
> longitude = c(233, 235),
> url = url,
> callopts = list(ssl_verifypeer = 0L, ssl_verifyhost = 0L))

Be certain to pass the result of calling “info_gcp()” and not just the datasetID.

Again, we would really appreciate if people can test this ERDDAP™ as much as possible so that not only our ERDDAP™ but those of other groups will work as best as possible, If you have any questions, suggestions, bug reports etc etc email Jonathan Sherman (jonathan...@noaa.gov) and copy me (roy.men...@noaa.gov) on the email.

Thanks,

- Roy
info_gcp.R
Reply all
Reply to author
Forward
0 new messages