NOAA-ORR-ERD / LibGOODS

Library for accessing data useful for the NOAA / GNOME model
https://libgoods.readthedocs.io/en/latest/
Other
1 stars 2 forks source link

Accessing unaggregated COOPS OFS output #1

Open AmyMacFadyen opened 2 years ago

AmyMacFadyen commented 2 years ago

CO-OPS maintains 7-day aggregations for their OFS that are based on ROMS. All FVCOM/SELFE model output is unaggregated (SFBOFS, CREOFS, NGOFS2, LEOFS, LMHOFS...)

Main THREDDS server: https://opendap.co-ops.nos.noaa.gov/thredds/catalog.html Older (>1 month) archive: https://www.ncei.noaa.gov/thredds/model/model.html

Additionally for time series prior to the 7-day aggregations there is a need to do manual aggregation.

Building an aggregation requires understanding their naming conventions:

2-D surface field output: nos.wcofs.2ds.[n|f]HHH.YYYYMMDD.tCCz.nc 3-D field output: nos.wcofs.fields.[n|f]NNN.YYYYMMDD.tCCz.nc

Where [nowcast/forecast] or [n/f] denotes either the nowcast or forecast results; YYYYMMDD is the date of the model run, tCCz is the cycle of the day; HHH is the nowcast or forecast hour.

AmyMacFadyen commented 2 years ago

Notes on COOPS aggregations: Nowcast and forecast files are created four times a day. Output is hourly in individual files. So each update generates 6 nowcast files and 48 forecast files The update cycle time will be the last model output timestep in the nowcast files and the first timestep in the forecast files

Example filenames from one update cycle (20141027.t15z): Nowcast: nos.ngofs.fields.n000.20141027.t15z.nc nos.ngofs.fields.n001.20141027.t15z.nc ... nos.ngofs.fields.n006.20141027.t15z.nc

Forecast: nos.ngofs.fields.f000.20141027.t15z.nc nos.ngofs.fields.f002.20141027.t15z.nc ... nos.ngofs.fields.f048.20141027.t15z.nc

So to make a time series, use subsequent nowcasts updates strung together sequentially by update date/time then by n0001-n005 (leave off the last one as it overlaps with the next set of files)

Similarly append the forecast that is the same update cycle as the most recent nowcast.

kthyng commented 2 years ago

This is super useful @AmyMacFadyen, thanks! I am putting together some code to make these aggregations.

kthyng commented 2 years ago

@AmyMacFadyen Do you want to be able to use both 2-D surface field output and 3D or do you just use one of these?

AmyMacFadyen commented 2 years ago

Both! It should be an option when making the data request (e.g. surface only or full 3d)