Skip to content

Latest commit

 

History

History
35 lines (20 loc) · 3.27 KB

README.md

File metadata and controls

35 lines (20 loc) · 3.27 KB

A Multivariate Sea Storm Model

Following the methods of Wahl et al. (2016), we develop a copula-based multivariate sea-storm model (MSSM) with functionality for gaussian, t-student, and vine copulas. The notebook provided at https://github.com/UNC-CECL/Barrier3D describes the MSSM components and an example application of the MSSM for use with Barrier3D - an exploratory barrier island evolution model. We provide a sample call below and describe the model inputs herein.

[stStorms, stSimStorms] = multivariateSeaStorm(sCopula, sWIS_filename, sWaterLevel_filename, fBeta, fBermEl, nSimStorm, bPlot, sOutput_filename)

The MSSM model multivariateSeaStorm.m is written in Matlab in order to utilize the t-tide package, which allows for robust fitting of tidal constituents to water level time series, but also calls the program mssmVines.R to use vine copulas from the CDVine package in R. There is one hardcoded directory in mssmVines.R that will need to be changed by the user based on the location of Rscript: #! /Library/Frameworks/R.framework/Resources/bin/Rscript). Note that we followed the model of the MultiHazard toolbox https://github.com/rjaneUCF/MultiHazard for fitting and simulating from vine copulas, and thank them for an awesome toolbox.

The MSSM model requires the following inputs:

Inputs:  

      sCopula              - copula to be fitted to storm variables; options are "c-vine", "d-vine", "gaussian", or "t-student"
                            
      sWIS_filename        - .onlns file downloaded from a USACE Wave Information Studies (WIS) bouy; must
                             contain hourly records of wave height (m)  
                             
      sWaterLevel_filename - .txt file that contains hourly records of total water level in m NAVD88 as second column, first column is datetime; 
                              downloaded for each year from NOAA; must be either the same length or longer than WIS time record  
                              
      fBeta                - beach slope  
      
      nSimStorm            - number of simulated storms to create  
      
      fBermEl              - erosion threshold; Wahl used 5% of dune toe heights; we use the average berm elevation (m NAVD88)  
                             
      bPlot                - boolean for plotting  
      
      sOutputFilename      - string of prefix for csv output filename  

In the example provided in the notebook at https://github.com/UNC-CECL/Barrier3D, we utilize a 35 year record of hourly wave hindcast data – including wave height (Hs) and wave period (Tp) – from the USACE’s Wave Information Studies buoy offshore Hog Island in the Virginia Coast Reserve (Station 63183, 22 m water depth) and hourly records of water level from the nearest NOAA tide gauge (Station 8631044, Wachapreague, VA) to create a list of 20,000 synthetic storms. We specify a berm elevation of 1.9 m (the average along Hog Island) and beach slope of 0.04. The c-vine produced the highest tau values (Kendall's Corelation Coefficient) over the elliptical Gaussian and T-student copulas, as well as the d-vine copula.

[stStorms, stSimStorms] = multivariateSeaStorm("c-vine", "ST63183_v03.onlns", "Tide-8631044-Combined.txt", 0.04, 1.9, 20000, true, "StormList_20k_VCR_Berm1pt9m_Slope0pt04.csv")