Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This page describes the FAST module adapter, its functions, and provides an example for configuring a FAST run in FEWS.
It only has a pre adapter since FAST generates output that is already readable by FEWS.

FAST

...

adapter

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

Class namenames:

nl.deltares.fast.FastPreAdapter
nl.deltares.fast.FastPostAdapter

Notes for users

FastPreAdapter

  • For all files that are written by this adapter, if the file to be written already exists, then it will be overwritten.
  • This program writes log messages to a log file called Fast_Pre_Adapter.log.
  • This program uses the information in the specified netcdf run file as input and uses this information to do the following:
  • Replace the tag $WAVE_HEIGHT$ in template file (cil0_30mv3_TEMPLATE.xyz) with a wave height value from FEWS.

FastPostAdapter

  • For all files that are written by this adapter, if the file to be written already exists, then it will be overwritten.
  • This program writes log messages to log file called Fast_Post_Adapter.log.
  • Converts model output (cil0_30mv3_out.asc) in esri grid format to fews netcdf grid format for T0.

System requirements

  • This program The model needs Matlab Compiler runtime 2013b x64 v8.2 to be installed
  • This program needs Java version 1.7 or higher.
  • This program needs the following Java libraries:
    • castor-0.9.5.jar
    • commons-httpclient-3.0.1.jar
    • Delft_Util.jar
    • fews-FAST-adapter.jar
    • log4j-1.2.14.jar
    • netcdf-4.2.jar
    • slf4j-api-1.5.6.jar
    • slf4j-log4j12-1.5.6.jar
    • xercesImpl.jar

...

The next steps are the execute activities.
The first will be the pre adapter. This program will read the run.nc input file and use the contents for instructions on which directory and files should be used to convert to the correct FAST input format. The Pre adapter generates a log file called fast_pre_adapter.log, which can be read into FEWS by coupling line patterns to FEWS log messages.
The second execute activity will be the module run. cil0_30mv3_out.asc contains the output in grid format of the run.
The third execute activity will be the post adapter.

...

Code Block
none
none
titlecil0_30mv3.xyz
108.34958333  -7.83289859   5.00    900 1
108.35411600  -7.83289136   5.00    900 1
108.35859257  -7.83344007   5.00    900 1
108.36302258  -7.83258101   5.00    900 1
108.36729527  -7.83112279   5.00    900 1
108.37134559  -7.82910962   5.00    900 1
108.37528703  -7.82689069   5.00    900 1
108.37936617  -7.82496548   5.00    900 1
108.38335489  -7.82662508   5.00    900 1
108.38745431  -7.82846972   5.00    900 1

Executing model run

The next activity will be executing the FAST model run. This is done by running FASTrun.exe in the workdir containing the model files with the input file names as arguments. The model creates the output file cil0_30mv3_out.asc which contains the grid information for FEWS.

Code Block
xml
xml
titlemodule run execute activity
			
			<executeActivity>
				<command>
					<executable>FASTrun.exe</executable>
				</command>
				<arguments>
					<argument>cil0b2</argument>
					<argument>cil0_30mv3</argument>
				</arguments>
				<timeOut>99999999</timeOut>
				<ignoreDiagnostics>true</ignoreDiagnostics>
			</executeActivity>

Executing post adapter

The post adapter converts model output (cil0_30mv3_out.asc) in esri grid format to fews netcdf grid format for T0.
It writes log messages to log file called Fast_Post_Adapter.log which can be read into FEWS by coupling line patterns to FEWS log messages.

Code Block
xml
xml
titlepost adapter execute activity
			<executeActivity>
				<command>
					<className>nl.deltares.fast.FastPostAdapter</className>
					<binDir>adapter\bin</binDir>
				</command>
				<arguments>
					<argument>run.nc</argument>
				</arguments>
				<logFile>
					<file>Fast_Post_Adapter.log</file>
					<errorLinePattern>ERROR*</errorLinePattern>
					<warningLinePattern>WARN*</warningLinePattern>
					<infoLinePattern>INFO*</infoLinePattern>
					<debugLinePattern>DEBUG*</debugLinePattern>
				</logFile>
				<timeOut>99999999</timeOut>
				<ignoreDiagnostics>true</ignoreDiagnostics>
			</executeActivity>

...