ModelMuse – Version 2.1.1.0 NOTE: Any use of trade, product or firm names is for descriptive purposes only and does not imply endorsement by the U.S. Government. This version of MODFLOW-2005 is packaged for personal computers using the Microsoft Windows XP or Vista operating systems. Executable files for personal computers are provided as well as the source code. Instructions for installation, execution, and testing are provided below. TABLE OF CONTENTS A. DISTRIBUTION FILE B. INSTALLING C. EXECUTING THE SOFTWARE D. EXAMPLES E. COMPILING A. DISTRIBUTION FILE The following self-extracting distribution file is for use on personal computers: ModelMuseSetup2_1_1.exe The distribution file contains: Compiled runfiles and source code for ModelMuse, ModelMonitor, and MF2005_Importer.exe. ModelMuse documentation in PDF files. Example models Supplementary materials B. INSTALLING The distribution file is an installer. Execution of the distribution file will install ModelMuse in a directory chosen by the user. By default, ModelMuse will be installed in C:\Program Files\USGS\ModelMuse2_1_1. The installer will associate files with the extensions .gpt, .gpb, and .mmZlib with ModelMuse. The following directory structure will be created in the installation directory: |--ModelMuse2_1_1 | |--bin ; ModelMuse, ModelMonitor, and MF2005_Importer | | executables. | |--doc ; Documentation file | |--data ; Data files and example models described in the | | documentation or the ModelMuse help. | |--examples ; Sample models. | |--source ; ModelMuse, ModelMonitor, and MF2005_Importer source code. Included in directory ModelMuse2_1_1\doc is the report on ModelMuse as a Portable Document Format (PDF) file. The PDF file is readable and printable on various computer platforms using Acrobat Reader from Adobe. The Acrobat Reader is freely available from the following World Wide Web site: http://www.adobe.com/ C. EXECUTING THE SOFTWARE There are several ways to execute the software. 1. Double click on it in Windows Exporer. 2. Double-click on the desktop short cut for ModelMuse that is optionally created by the installer. 3. Double click on a file with one of the extensions associated with ModelMuse (.gpt, gpb, mmZlib). D. EXAMPLES Several example models are included in the examples folder Many of the ones for PHAST reproduce sample models distributed with PHAST or described in the ModelMuse help. The ones for MODFLOW are described in the ModelMuse help. Data files used in the examples described in the ModelMuse documentation or help are in the data folder. E. COMPILING ModelMuse is compiled with Delphi 2006 from Embarcadero. http://www.embarcadero.com/ The help system for ModelMuse is compiled with Help and Manual from EC Software. http://www.helpandmanual.com/ ModelMuse uses a number of custom comoponents which must be installed in Delphi 2006 before compiling ModelMuse. Some are included with the ModelMuse source code. Addition required files or components are listed below. In some cases, the files must be altered before they can be used with ModelMuse. The required changes are listed below. Graphics32 http://graphics32.org/wiki/ VirtualTreeView http://www.soft-gems.net/ HashTrie.pas http://www.softcomplete.com/freeware.asp EZDSL http://www.boyet.com/FixedArticles/EZDSL.html In EZDSLHSH.PAS, place the line {$Q-} before the HashBKDR function and {$Q-} afer the end of the HashBKDR function. EC Software Help Suite (EHS) http://www.ec-software.com/downloads_delphi.html At the end of ver.inc add the following lines. {$IFDEF VE200} {$DEFINE EHS_D5_UP} {$DEFINE EHS_D6_UP} {$DEFINE EHS_D7_UP} {$DEFINE EHS_D2005_UP} {$DEFINE EHS_D2006_UP} {$DEFINE EHS_D2007_UP} {$ENDIF} addbtn95 http://delphi.icm.edu.pl/ftp/d20free/addbtn95.zip GlScene http://glscene.sourceforge.net/wikka/HomePage ImageFileLib http://sourceforge.net/projects/imagefilelib/ In BitStream.pas, add {$R-} at the beginning of the implementation section. In BufStream.pas, add {$R-} at the beginning of the implementation section. In Deflate.pas, add {$R-} {$Q-} at the beginning of the implementation section. In LinarBitmap.pas, add {$R-} at the beginning of the implementation section. In PCXLoader.pas, add {$R-} at the beginning of the implementation section. FastGEO.pas http://fastgeo.partow.net http://www.partow.net/projects/fastgeo/index.html JCL and JVCL http://www.delphi-jedi.org/ TntControls http://web.archive.org/web/20070202020227/http://www.tntware.com/delphicontrols/unicode/ TntExtendedEditors http://lummie.co.uk/delphi-components/tnt-extended-editors/ (Both TntControls and VirtualTreeView must be installed before TntExtendedEditors.) in TntExDropDownEdit.pas Add "Forms" to uses clause Replace TCustomTntExDropDownEdit.CloseUp with the following. procedure TCustomTntExDropDownEdit.CloseUp; var ParentForm: TCustomForm; begin FClosing := true; ParentForm := GetParentForm(Self); if ParentForm.Visible and ParentForm.Enabled then begin SetFocus; end; FPanel.Visible := false; DoClosedUp; FClosing := false; if not IsEditable then HideCaret (Handle); end; in TntExDropDownVirtualDrawTree.pas replace TTntExVirtualDrawTreeWrapper.PaintFocusedLines with the following procedure TTntExVirtualDrawTreeWrapper.PaintFocusedLines(Canvas : TCanvas; x,y : integer; IsEnabled : boolean); var Node : PVirtualNode; CellRect : TRect; ButtonX, ButtonY : integer; begin Node := FocusedNode; if assigned(Node) then begin CellRect := Rect(0,0,16,16); ButtonX := x+2; ButtonY := y+4; // Show node button if allowed, if there child nodes and at least one of the child // nodes is visible or auto button hiding is disabled. if (toShowButtons in TreeOptions.PaintOptions) and (vsHasChildren in Node.States) and not ((vsAllChildrenHidden in Node.States) and (toAutoHideButtons in TreeOptions.AutoOptions)) then PaintNodeButton(Canvas, Node, 0, CellRect, ButtonX, ButtonY, BidiMode); end; end; In TntExDropDownVirtualStringTree.pas replace TTntExVirtualStringTreeWrapper.PaintFocusedLines with the following procedure TTntExVirtualStringTreeWrapper.PaintFocusedLines(Canvas : TCanvas; x,y : integer; IsEnabled : boolean); var Node : PVirtualNode; CellRect : TRect; ButtonX, ButtonY : integer; begin Node := FocusedNode; if assigned(Node) then begin CellRect := Rect(0,0,16,16); ButtonX := x+2; ButtonY := y+4; // Show node button if allowed, if there child nodes and at least one of the child // nodes is visible or auto button hiding is disabled. if (toShowButtons in TreeOptions.PaintOptions) and (vsHasChildren in Node.States) and not ((vsAllChildrenHidden in Node.States) and (toAutoHideButtons in TreeOptions.AutoOptions)) then PaintNodeButton(Canvas, Node, 0, CellRect, ButtonX, ButtonY, BidiMode); end; end; TurboPower Abbrevia http://sourceforge.net/projects/tpabbrevia/ in AbArcTyp.pas replace TAbArchive.Add with the following: procedure TAbArchive.Add(aItem : TAbArchiveItem); var Confirm : Boolean; // RBW begin change TempCount: Integer; ShouldFree: Boolean; // RBW end change begin CheckValid; if FItemList.IsActiveDupe(aItem.FileName) then begin // RBW begin change // RBW The following changes are made in order to remove a memory leak. TempCount := FItemList.Count; ShouldFree := False; try // RBW end change if (soFreshen in StoreOptions) then begin Freshen(aItem); // RBW begin change ShouldFree := TempCount = FItemList.Count // RBW end change end else if (soReplace in StoreOptions) then begin Replace(aItem); // RBW begin change ShouldFree := TempCount = FItemList.Count // RBW end change end else begin DoProcessItemFailure(aItem, ptAdd, ecAbbrevia, AbDuplicateName); // RBW begin change ShouldFree := True; // aItem.Free; // RBW end change end; // RBW begin change finally if ShouldFree then begin aItem.Free; end; end; // RBW end change end else begin DoConfirmProcessItem(aItem, ptAdd, Confirm); if not Confirm then Exit; Lock; try aItem.Action := aaAdd; FItemList.Add(aItem); FIsDirty := True; if AutoSave then Save; finally Unlock; end; end; end;