Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
{}
Wiki Markup
scrollbar

Table of Contents

Wavewatch 3

...

WaveWatch3 is a full-spectral third-generation wind-wave model, developed at the Marine Modeling and Analysis Branch (MMAB) of the Environmental Modeling Center (EMC) of the National Centers for Environmental Prediction (NCEP). It is based on WAVEWATCH I and WAVEWATCH II as developed at Delft University of Technology, and NASA Goddard Space Flight Center, respectively. WAVEWATCH III differs from its predecessors in all major aspects; i.e., governing equations, program structure, numerical and physical approaches.

Running wavewatch3 models: http://polar.ncep.noaa.gov/waves/workshop/pdfs/wwws_2013_running.pdf

Wavewatch3 manual: http://polar.ncep.noaa.gov/mmab/papers/tn276/MMAB_276.pdf

Wavewatch 3 Model Adapter - summary

This page describes the WW3 module adapter, its functions, and provides an example for configuring a WW3 run in FEWS.

The pre-adapter creates the model specific output by replacing tags in template files:

  • ww3_shell.inp.template for run information file ww3_shell.inp
  • gx_outf.inp.template for grid output processing file gx_outf.inp
  • ww3_out.inp.template for point output processing file ww3_out.inp

Furthermore, it writes log messages to a log file called xbeach.log.

The post-adapter converts the 2D spectra model output from the model native format to NetCDf.

WW3 pre-adapter
Anchor
preadapter
preadapter

Model pre-adapter for running a Wavewatch 3 model from Delft-FEWS.

...

  • This program needs Java version 1.7 8 or higher.
  • This program needs the following Java libraries:
    • castor-0.9.5.jar
    • commons-httpclient-3.0.1.jar
    • Delft_FEWS.jar
    • Delft_FEWS_DataStore.jar
    • Delft_PI.jar
    • Delft_PI_castor.jar
    • Delft_Util.jar
    • fews-wavewatch-adapter.jar
    • grib-8.0
    • log4j-1.2.14.jar
    • netcdf-4.2.jar
    • slf4j-api-1.5.6.jar
    • slf4j-log4j12-1.5.6.jar
    • TimeSeriesImport.jar
    • xercesImpl.jar

WW3 post-adapter
Anchor
postadapter
postadapter

Model post-adapter for running a Wavewatch 3 model from Delft-FEWS.

...

  • For all files that are written by this adapter, if the file to be written already exists, then it will be overwritten.
  • This program assumes that the model always runs in time zone GMT.
  • It converts ww3.YYMMDDHH.spc 2D spectra model output file to NetCDf format.
  • This program writes log messages to a log file called postww3.log.

...

  • This program needs Java version 1.7 8 or higher.
  • This program needs the same Java libraries as the pre-adapter.

Running a WaveWatch 3 model

...

  • ww3_grid.exe (grid pre-processor, page 75 of the manual)
  • ww3_prep.exe (wind field pre-processor for the generic shell, page 86)
  • ww3_shel.exe (model executable or generic shell, page 89)
  • ww3_outp.exe (point output post-processor, page 100)
    • Input
      • ww3_outp.inp
      • mod_def.ww3 (binary file, created by ww3)
      • out_pnt.ww3 (raw point output data)
    • Output
      • tabnn.ww3, table of mean parameters where nn is a two-digit integer)
      • ww3.YYMMDDHH.spc file, with the 2D spectra in an ASCII format. The post-adapter will convert this to a ww3.nc file, which FEWS can import in the importActivities.
  • gx_outf.exe (gridded output post-processor for GrADS, page 107. Output ww3.grads)
    • Input
      • gx_outf.inp
      • mod_def.ww3
      • out_grd.ww3 (raw gridded output data)
    • Output
      • ww3.grads

...

(Some of these are template files in FEWS, because FEWS will edit the $TAGS$ before it passes the file to WW3)

...

Example Configuration generalAdapterRun

The following gives an example of how to set up the GeneralAdapterRun file for Wavewatch 3 in FEWS using the WW3 model pre and post-adapters.  The GeneralAdapterRun file follows the general structure as described here.

...

In this section the data to be exported from FEWS as input to the module is specified. Data to export to WW3 generally includes:

  • Model state (restartn.ww3, where n represents a single digit integer number)
  • Model data set
  • Input data (i.e. wind, water levels, wave spectra)
  • Run file

...

Code Block
xml
xml
titleexportActivities
<exportActivities>
			<exportStateActivity>
				<moduleInstanceId>$MODULE_INSTANCE_ID$</moduleInstanceId>
				<stateExportDir>%ROOT_DIR%/stateInput<workDir</stateExportDir>
				<stateSelection>
					<warmState>
						<stateSearchPeriod unit="hour" start="-72" end="-24"/>
					</warmState>
				</stateSelection>
			</exportStateActivity>
			<exportDataSetActivity>
				<moduleInstanceId>WavewatchIII_$MODEL$_$METEO$</moduleInstanceId>
			</exportDataSetActivity>
			<exportNetcdfActivity>
				<exportFile>$METEO$.nc</exportFile>
				<timeSeriesSets>
					<timeSeriesSet>
						<moduleInstanceId>Import_$METEO$</moduleInstanceId>
						<valueType>grid</valueType>
						<parameterId>Wind.u.simulated</parameterId>
						<locationId>$METEO$</locationId>
						<timeSeriesType>external historical</timeSeriesType>
						<timeStep unit="hour" multiplier="3"/>
						<relativeViewPeriod unit="day" start="-3" end="0"/>
						<readWriteMode>read only</readWriteMode>
					</timeSeriesSet>
					<timeSeriesSet>
						<moduleInstanceId>Import_$METEO$</moduleInstanceId>
						<valueType>grid</valueType>
						<parameterId>Wind.v.simulated</parameterId>
						<locationId>$METEO$</locationId>
						<timeSeriesType>external historical</timeSeriesType>
						<timeStep unit="hour" multiplier="3"/>
						<relativeViewPeriod unit="day" start="-3" end="0"/>
						<readWriteMode>read only</readWriteMode>
					</timeSeriesSet>
				</timeSeriesSets>
			</exportNetcdfActivity>
			<exportNetcdfRunFileActivity>
				<exportFile>%ROOT_DIR%/runinfo.nc</exportFile>
				<properties>
					<string value="3600" key="TIMESTEP"/>
				</properties>
			</exportNetcdfRunFileActivity>
		</exportActivities>

...

Code Block
xml
xml
titleexecuteActivities
<executeActivities>
	<executeActivity>
		<description>WavewatchIII Pre Adapter<pre-adapter</description>
		<command>
			<className>nl.deltares.wavewatch.PreWWIIIAdapter</className>
			<binDir>%ROOT_DIR%/../../../bin/WavewatchIII_adapter</binDir>
		</command>
		<arguments>
			<argument>%ROOT_DIR%/runinfo.nc</argument>
		</arguments>
		<timeOut>10800000</timeOut>
		<ignoreDiagnostics>true</ignoreDiagnostics>
	</executeActivity>
	<executeActivity>
		<description>ww3_grid</description>
		<command>
			<executable>%ROOT_DIR%/../../../bin/WavewatchIII/ww3_grid.exe</executable>
		</command>
		<timeOut>90000000</timeOut>
		<ignoreDiagnostics>true</ignoreDiagnostics>
	</executeActivity>
	<executeActivity>
		<description>ww3_prep</description>
		<command>
			<executable>%ROOT_DIR%/../../../bin/WavewatchIII/ww3_prep.exe</executable>
		</command>
		<timeOut>90000000</timeOut>
		<ignoreDiagnostics>true</ignoreDiagnostics>
	</executeActivity>
	<executeActivity>
		<description>ww3_shel</description>
		<command>
			<executable>%ROOT_DIR%/../../../bin/WavewatchIII/ww3_shel.exe</executable>
		</command>
		<timeOut>90000000</timeOut>
		<ignoreDiagnostics>true</ignoreDiagnostics>
	</executeActivity>
	<executeActivity>
		<description>Run WavewatchIII</description>
		<command>
			<executable>%ROOT_DIR%/../../../bin/WavewatchIII/gx_outf.exe</executable>
		</command>
		<timeOut>90000000</timeOut>
		<ignoreDiagnostics>true</ignoreDiagnostics>
	</executeActivity>
	<executeActivity>
		<description>Collect output WavewatchIII</description>
		<command>
			<executable>%ROOT_DIR%/../../../bin/WavewatchIII/ww3_outp.exe</executable>
		</command>
		<timeOut>90000000</timeOut>
		<ignoreDiagnostics>true</ignoreDiagnostics>
	</executeActivity>
	<executeActivity>
		<description>WavewatchIII Post Adapter<post-adapter</description>
		<command>
			<className>nl.deltares.wavewatch.PostWWIIIAdapter</className>
			<binDir>%ROOT_DIR%/../../../bin/WavewatchIII_adapter</binDir>
		</command>
		<arguments>
			<argument>%ROOT_DIR%/runinfo.nc</argument>
		</arguments>
		<timeOut>10800000</timeOut>
		<ignoreDiagnostics>true</ignoreDiagnostics>
	</executeActivity>
</executeActivities>

...