A utility for generating code for module data types in the FAST Modularization Framework
Authors: John Michalakes and Bonnie Jonkman, NREL
The FAST Registry allows the developer to specify the data types for a module once and in a single location, automating the time consuming and error-prone task of generating the code. The tables in the Registry text input files serve as a data dictionary for improving understandability and maintainability of the code.
The FAST Registry is borrowed from a mechanism that was originally developed at NCAR for the Weather Research and Forecast (WRF) model software. It has been modified for the FAST Modularization Framework to create ModuleName_Types.f90 files along with any necessary C source code or header files associated with the ModuleName_Types.f90 files.
For more information and syntax, please refer to the NWTC Programmer's Handbook.
To create ModuleName_Types.f90 from data defined in RegistryFile.txt:
c:\> Registry_win32.exe RegistryFile.txt [options]
To create template ModuleName_Registry.txt file:
c:\> Registry_win32.exe -registry ModuleName ModName
To create template file for ModuleName.f90:
c:\> Registry_win32.exe -template ModuleName ModName
Summary of options:
c:\> Registry_win32.exe -h
----- FAST Registry (v3.01.00, 11-Jan-2016) --------------
----------------------------------------------------------
Usage: Registry_win32.exe registryfile [options] -or-
[-force] [-template|-registry] ModuleName ModName
Options:
-h this summary
-I <dir> look for usefrom files in directory "dir"
-O <dir> generate types files in directory "dir"
-noextrap do not generate ModName_Input_ExtrapInterp or ModName_Output_ExtrapInterp routines
-D<SYM> define symbol for conditional evaluation inside registry file
-ccode generate additional code for interfacing with C/C++
-keep do not delete temporary files from registry program
-shownodes output a listing of the nodes in registry's AST
=== alternate usage for generating templates ===
-template ModuleName ModName
Generate a template Module file none exists
-registry ModuleName ModName
Generate a template registry file if none exists
-force Force generating of template or registry file
(the / character can be used in place of - when specifying options)