An end-to-end workflow for assessing sea surface temperature, salinity and water level predicted by coastal ocean models

Southeast Coastal Ocean Observing Regional Association (SECOORA) is currently supporting a multiscale, multi-resolution modeling subsystem for the US Southeast coastal waters to deliver model data and products for coastal resource and emergency response managers and other users. The models that are currently supported in the SECOORA foot print include: regional scale nowcast/forecast ocean circulation modeling system; estuarine and surge/inundation prediction (nowcast/forecast); beach water quality modeling in support of swimming advisories and fisheries habitat modeling for improving stock assessment. Effective use of coastal ocean model forecasts requires a thorough understanding of model skill for different environmental scenarios, regions and times. Computation of model skill, however, has historically been difficult due to varying data conventions, distribution techniques and lack of general tools for discovery, access and use. SECOORA is addressing this problem by developing reproducible workflows for model skill assessment that can be run on any Mac, Windows or Linux computer using free, extensible software. The workflow first discovers datasets via a catalog search over the distributed data holdings of US-IOOS, using bounding box, time range and variable search capabilities of the Open Geospatial Consortium (OGC) Catalog Services for the Web (CSW). The workflow then locates known web service endpoints (OGC Sensor Observation Service (SOS) for sensor data, OPeNDAP with Climate Forecast (CF) Conventions for model output) in the metadata, and extracts data directly from these distributed services. The workflow then extracts time series from the observations and models, does QA/QC, and computes skill metrics in an automated fashion. The results are also displayed qualitatively in an interactive mapping function. The workflow has been written using python within the IPython Notebook (aka Jupyter Notebook), which allows using a standard web browser as a client, and documents the workflow. The environment required to run the notebooks has also been standardized, allowing anyone to install and reproduce our results using free software in a matter of minutes.