Alternate Run Modes:Working with the GSSHA DLL Library

From Gsshawiki
Revision as of 18:09, 9 December 2024 by Aabyrd (talk | contribs) (Created page with "= Working with the GSSHA DLL Library = == GSSHA SDK Files == The GSSHA installation files for 8.0 include several files that can be used for programmatic integration. {| c...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Working with the GSSHA DLL Library

GSSHA SDK Files

The GSSHA installation files for 8.0 include several files that can be used for programmatic integration.


File Description
GSSHAlib.dll GSSHA Dynamic Link Library
bmi.hxx BMI header file, used by GSSHA80.hpp
GSSHA80.hpp GSSHA simulation header file

GSSHA Library Classes and Functions

Class Description
gssha_sim The primary GSSHA simulation class
mpi_setup Used by GSSHA to manage OpenMP and MPI run modes
replace_io Used by GSSHA to manage the read replacement capabilities
observed_data Used by GSSHA to manage observed data used by calibration routines
run_results Used by GSSHA to manage the results of the simulation. Used by the calibration routines.
main_var_struct Holds most of the GSSHA simulation data
gssha_bmi BMI interface to the GSSHA simulation class


GSSHA_SIM Class Methods Signature Description
gssha_sim gssha_sim() Constructor; uses internal mpi_setup class
~gssha_sim ~gssha_sim() Destructor; called when the class is destroyed
main_gssha int main_gssha(const char* prj_name, gssha::run_results* calib_data, const char input[]) Method to run an entire GSSHA simulation from start to finish
main_gssha_init void main_gssha_init(const char* prj_name, gssha::run_results* calib_data, const char input[]) Initialize a GSSHA simulation, which reads the project file, allocated memory, and opens the output files
main_gssha_run_one_step void main_gssha_run_one_step() Run the GSSHA simulation for one pass through the main loop, which is for one timestep
main_gssha_run_standard void main_gssha_run_standard() Run the main simulation code until the normal timeline termination
main_gssha_finalize void main_gssha_finalize() Run the finalize routine, which writes out the final output files, closes the output files, and frees the internal memory
init_gssha bool init_gssha(const char* prj_name, gssha::run_results* calib_data, const char input[]) Same as main_gssha_init, but with C++ error handling routines
finalize_gssha bool finalize_gssha() Same as main_gssha_finalize, but with C++ error handling routines


GSSHA_BMI Class Methods Signature Description


GSSHA User's Manual

18 Alternate Run Modes
18.1     MPI and OpenMP Parallelization
18.2     Simulation Setup for Alternate Run Modes
18.3     Batch Mode Runs
18.4     Automated Calibration with Shuffled Complex Evolution
18.5     Monte Carlo Runs
18.6     ERDC Automated Model Calibration Software
   18.6.1     Efficient Local Search
   18.6.2     Multistart
   18.6.3     Trajectory Repulsion
   18.6.4     Effective and Efficient Stochastic Global Optimization
18.7     Inset Models
18.8     Working with the GSSHA DLL Library
18.9     Working with the GSSHA Python Interface