Notes on the UNIX version of PEST
|
|
|
- Shannon Miles
- 9 years ago
- Views:
Transcription
1 1. Introduction 1.1 General Notes on the UNIX version of PEST John Doherty Watermark Numerical Computing January, 2015 The UNIX version of PEST is supplied as source code, makefiles and example files. Compilation instructions are provided in Section 2 of this document. A few notes on usage of the UNIX version of PEST are provided in Section Installation PEST is provided as a tar file (for example pest13.tar). Copy pestx.tar to a suitable directory on your machine, for example a directory named /pest. Then execute the command:- tar xvf pestx.tar PEST source code files and makefiles will be placed in the directory from which the above command was issued. A number of subdirectories will also be created. Subdirectories pestex, papestex, edpestex and ppestex will contain files pertaining to the worked examples described in the PEST manual. Don t forget to compile the models used in these examples before working through them; see Section 2.10 for details. Another two subdirectories named itptest and vtp will also be present. Files in these directories pertain to verification and testing procedures used in the qualification of PEST and its utilities for use at U.S. Department of Energy sites. Pertinent documentation can be forwarded on request. 2. Compiling PEST 2.1 Source Code PEST must be compiled with a FORTRAN 90 compiler. Most of the source code files for PEST and its utilities possess an extension of.f. Hence, when compiled using the f90 command, they are first preprocessed by the C preprocessor. This preprocessing involves the selection or elimination of code fragments (through #ifdef/#else/#endif statements spread throughout these source code files), depending on symbols defined (using the -D compiler option) on the f90 command line. Symbols should be defined which are appropriate to your compiler. As is discussed below, certain groups of symbols have already been preselected; these selections are suitable for use with most UNIX compilers. However differences between compilers, and the idiosyncratic nature of some of them, may require the use of other symbols on some platforms. A rudimentary C preprocessor named cppp has been supplied with PEST. The cppp preprocessor supports only a limited number of directives, these being listed in Table 1. 1
2 PEST makefiles are such that cppp is invoked for source code preprocessing rather than the preprocessor resident on the machine on which PEST is being compiled. This situation can be readily altered if desired through appropriate editing of these makefiles. If it is used, cppp must be compiled before all other programs of the PEST suite. #ifdef #ifndef #else #endif #define Table 1. Directives supported by cppp. 2.2 Symbols used with Compiler Directives A list of symbols appearing in PEST source code files is provided in Table 2. Symbol AT BEO CAPFILE GMS FLUSHFILE INTEL LAHEY LF90 MPEST NO_CMDLINE PARALLEL PESTMOD SCRIPT Use Selection of code fragments specific to a version of PEST used with a particular commercial model graphical user interface. Selects code for inclusion in BEOPEST. Selects code for capitalisation of filenames. Selection of code fragments specific to a version of PEST used with a particular commercial model graphical user interface. Used to access the non-standard (but common) flush() subroutine supported by many compilers. Selects code for use with the INTEL compiler in the PC environment. Used to access certain non-standard features offered by LAHEY compilers. Used to access non-standard features offered by the LF90 compiler, particularly in relation to file opening. Selects code for inclusion in a special version of PEST for which parallel run management is undertaken by an external manager. Selects code that allows command line arguments to be entered through a prompted string. Selects code for inclusion in Parallel PEST and BEOPEST. Selects code fragments used in compilation of the PESTMOD module. Used for a version of Parallel PEST, run on a CRAY, which implements parallelisation by continuously topping up the batch queue. 2
3 SLEEP SPACE SYS_FUNCTION UNICOS UNIX Selects code that calls the SLEEP function for those compilers that support it (used by Parallel PEST and PSLAVE). Be sure to use this option if it is available as alternative methods of killing time are very CPU intensive. Used for optional insertion of a space preceding SENSAN error messages. Used for compatibility with compilers for which the (non-standard) intrinsic subprogram SYSTEM is an integer function rather than a subroutine. Used for selection of the ISHELL function in place of the SYSTEM function. Selects code used in the UNIX version of PEST. USE_D_FORMAT Employed for compatibility with compilers that do not allow the E symbol for exponentiation of double precision numbers. Table 2. Symbols used with compiler directives in PEST source code files. Note that, in addition to accommodating differences between different compilers and operating systems, symbols and accompanying compiler directives are used for selection of parallelisation code required for the compilation of Parallel PEST and BEOPEST. 2.3 Makefiles Makefiles used for compilation of PEST and its utilities are listed in Table 3. Name of file makefile pest.mak ppest.mak beopest.mak pestutl1.mak pestutl2.mak pestutl3.mak Role Removal of non-essential files after compilation. Removal of executable programs prior to re-compilation. Compilation of cppp. Installation of compiled executables. Generation of the pest executable, the predvar* and predunc* suites of executable programs, as well as executable versions of the infstat, infstat1, wtsenout, pnulpar, muljcosen, identpar, supcalc, simcase and ssstat utility programs. Generation of ppest (i.e. Parallel PEST) executable program. Generation of beopest executable program (TCP/IP version only). Generation of executable versions of the PEST utility programs eigproc, inschek, jacwrit, jco2jco, jcotrans, jcochek, par2par, paramfix, parrep, pestchek, jcosub, pestgen, picalc, ppause, pslave, pstop, pstopst, punpause, svdaprep, tempchek, wtfactor, ppd2asc and ppd2par. Generation of the parcalc and obscalc executable programs. Generation of executable versions of the PEST utility programs dercomb1,genlin, jco2mat, jcoaddz, jcocomb, jcoorder, jcopcat, jrow2mat, jrow2vec, obsrep, paramerr, pclc2mat, pcov2mat, pest2vec, pestlin, prederr, prederr1, prederr2, pwtadj1, regerr, resproc, reswrit, scalepar, vec2pest, veclog, prederr3, pwtadj2, jcodiff, regpred, addreg1, randpar, mulpartab, comfilnme, paramid, postjactest, genlinpred, subreg1, phistats, lhs2pest, pest2lhs, parreduce and assesspar. 3
4 pestutl4.mak pestutl5.mak pestutl6.mak Generation of executable versions of the PEST utility programs cov2cor, covcond, mat2srf, matadd, matcolex, matdiag, matdiff, matinvp, matjoinc, matjoind, matjoinr, matorder, matprod, matquad, matrow, matsmul, matspec, matsvd, matsym, mattrans, matxtxi, matxtxix and mat2jco. Generation of executable versions of the jactest, obs2obs and rdmulres PEST utility programs and of the CMAES_P and SCEUA_P global optimisers. Generation of the supobsprep, supobspar and supobspar1 executable programs. sensan.mak Generation of sensan and senschek executable programs. Table 3. Makefiles for compilation of PEST and its utilities. In each of these makefiles, symbols for use by the cppp preprocessor are assigned to the DEFINES macro. The F90 and LD macros are assigned the compile and link commands pertinent to the local FORTRAN 90 compiler. Compiler options applicable to code compilation and linkage are assigned to the FFLAGS and LDFLAGS macros respectively. 2.4 Compilation Before compiling PEST, each of the makefiles listed in Table 3 should be opened, and appropriate compiler commands, compiler options and preprocessor symbols selected. A number of preselections have already been made for different compilers; uncomment the block at the top of the makefile that is most appropriate for you. Next, if necessary, edit the directory name assigned to the INSTALLDIR symbol in makefile. Then compile and install PEST and all of its utility programs using the following sequence of commands:- make cppp make -f pest.mak all make -f ppest.mak all make -f pestutl1.mak all make -f pestutl2.mak all make -f pestutl3.mak all make -f pestutl4.mak all make -f pestutl5.mak all make -f pestutl6.mak all make -f sensan.mak all make f beopest.mak all 4
5 make install Repetition of in the above sequence of commands ensures that intermediate preprocessor-generated and compiler-generated files are removed prior to subsequent compilation events. Deletion of these files is required due to re-use of source code files in compiling different executable programs, with different preprocessor symbols selected in each case. 2.5 The USE_D_FORMAT Symbol You should only define the USE_D_FORMAT symbol during compilation if, when running PEST, you ever receive an error message such as: Error writing parameter to model input file: Internal error type 1. However before selecting this directive you should test whether it has any chance of working for your compiler by running the program d_test provided with PEST. This is most easily done using the command: make d_test This command will compile d_test.f and then run it. The screen output provided by d_test will inform you if it is appropriate to define the USE_D_FORMAT symbol. 2.6 Making PEST Run Faster: Using Optimiser Switches at Compilation Compiler optimisation capabilities can be activated by adding the pertinent switches to the FFLAGS symbol in PEST makefiles. The compiler should then generate executables for PEST and its utilities which run faster. It should be noted, however, that the rate of execution of the model which is run by PEST mostly exerts a far greater influence on overall parameter estimation time than PEST s rate of execution. Some compilers introduce phantom errors into PEST execution when PEST is compiled with the optimisation switches set. Such errors may cause PEST to terminate execution with a run-time compiler-generated error which, in reality, is not an error at all. Hence, if you compile PEST with your compiler s optimiser switches set and PEST does not successfully complete the parameter estimation process, re-compile it with no optimisation and see if the error still occurs. If it does not, then it may be that there is a problem with your compiler s optimiser. 2.7 Making PEST Run Faster: Decreasing the Model File Width Specification There is a simple change that you can make to the PEST source code that may induce a dramatic reduction in execution time (more dramatic than code optimisation). PEST has been programmed to write model input files and read model output files of up to 2000 characters in width. If none of your model input or output files is this wide, you can decrease this maximum width specification. This will save PEST a great deal of work in checking empty spaces in character strings for entries which will never be present. For example, if you know that your model input and output files will never be greater than 300 characters in width, open runpest.f and search for the line: C --- File width 5
6 Change the ensuing line from: to CHARACTER*2000 BUF CHARACTER*300 BUF Then, in pestdata.f, alter the line:- to CHARACTER(LEN=2000) :: CLINE=' '! Work string CHARACTER(LEN=300) :: CLINE=' '! Work string Then recompile PEST. This is certain to result in a considerable decrease in execution time where there are many observations. Note, however, that you must not declare a string length of less than 300 characters, as both CLINE and BUF have other uses within PEST for which a length of 300 characters is necessary. Though similar changes can be made to files pestchek.f, tempchek.f and inschek.f, it is advised that these files not be altered as such alterations may interfere with the normal checking operations carried out by these programs. 2.8 Maximum Array Sizes for TEMPCHEK, INSCHEK and PESTGEN If any of TEMPCHEK, INSCHEK or PESTGEN complain that more parameters or observations are cited in the current case than they can handle, this is easily fixed. In each of tempchek.f and inschek.f only one variable needs to be adjusted to rectify this problem, viz. ZNPAR (maximum number of parameters) in the former case and ZNOBS (maximum number of observations) in the latter case. For pestgen.f, both ZNPAR and ZNOBS need to be adjusted (once each, in sequential source code lines). In all three cases the relevant source code line is situated near the beginning of the file, immediately following a comment line such as: C -- Number of parameters This problem should arise in no other PEST programs. 2.9 PATH Some of the programs of the PEST suite run other members of that suite to undertake certain tasks. For example, when undertaking SVD-assisted parameter estimation, PEST uses the PICALC and PARCALC executables to manipulate base parameters while PEST (or Parallel PEST) estimates super parameters. SENSAN uses TEMPCHEK and INSCHEK to write model input files and read model output files respectively. It is thus important that all PEST and PEST utility executable programs reside in a directory cited in the PATH environment variable Compiling the Example and Test Cases Program TWOLINE in both the pestex and papestex subdirectories must be compiled before you can run the example case documented in the PEST manual. There are no preprocessor symbols to be selected as the TWOLINE source code does not need to be preprocessed. Hence it can be compiled using, for example, the command:- 6
7 f90 -o twoline twoline.f Similarly, program POLYMOD in the edpestex subdirectory (see Model-Calculated Derivatives in the PEST manual) should be compiled using the command:- f90 -o polymod polymod.f Make sure that file model.bat in the edpestex subdirectory is designated as an executable file. This can be achieved using the command:- chmod u+x model.bat Program A_MODEL in the ppestex subdirectory (see Parallel PEST in the PEST manual) should be compiled using the command:- f90 -o a_model a_model.f 3. Using UNIX PEST 3.1 General Use of the UNIX version of PEST is very similar to that of the PC version of PEST as described in the PEST manual. However there are a few differences, as set out below. 3.2 Case Sensitivity On a PC platform filenames are case-insensitive. In the UNIX version, however, all filenames are case sensitive. Hence all references to template files, instruction files and model input/output files in the PEST control file must use the correct case. The same applies to the model command line. It should be noted, however, that case sensitivity does not extend to parameter and observation names, nor to the instructions contained in PEST instruction files. 3.3 Run-Time Inspection of PEST Output Files The run record file, the parameter sensitivity file and the run management file produced by PEST can be viewed by opening other UNIX shell windows and inspecting them from there. Unfortunately, however, the latest information written to these files by PEST may not always be accessible to viewing programs run from these other windows. This is because data written to these output files is first written to a buffer, where it accumulates until the buffer is full. The buffer is then automatically flushed, at which stage the information is actually recorded on the pertinent output file. To overcome this problem, code can be included within PEST by which this buffer can be flushed on a regular basis whether it is full or not. If this is done the optimisation history can be inspected at any time right up until the moment of viewing the respective PEST output file. This is implemented using the flush() subroutine which is invoked using the FLUSHFILE symbol during PEST source code preprocessing. Unfortunately, however, this subroutine is not supported by all compilers. If desired, one or a number of windows can be dedicated solely to inspection of PEST output files. If, at any stage of PEST execution, the user opens a new window, transfers to the PEST working directory within this window, and types the command:- tail -f file 7
8 where file is any of case.rec, case.sen, case.svd, case.rmr etc (where case is the current casename), the last few lines of the pertinent file will be continuously displayed and updated in that window. Alternatively, these files can be inspected in their entirety by running cat more, pg, vi or any other appropriate UNIX text viewing utility. The UNIX version of PEST generates a file called jacob.runs which records the number of model runs that have been completed in calculation of the Jacobian matrix for the current optimisation iteration. This file can be viewed in similar fashion to the run record file; it is a particularly good candidate for viewing using the tail -f command, as a continuous record is then available of how many runs have been completed during the current optimisation iteration. Note that up-to-date viewing of jacob.runs depends on use of the flush() subroutine discussed above. 3.4 Restarting with the /s and /d switches As is explained in the PEST manual, if Parallel PEST or BEOPEST is restarted with the /s switch or serial PEST is restarted with the /d switch, it will re-commence execution at the exact model run at which its execution was previously terminated. However this is only possible if PEST compilation takes place with the FLUSHFILE symbol selected for source code preprocessing. As explained above, this can only happen if the compiler supports an intrinsic flush() function. 3.5 Command-Line Arguments No standard FORTRAN functionality is available for reading command-line arguments. Hence, whether PEST and its utilities are run on a PC or on a UNIX platform, access to command-line arguments must be made using non-standard, compiler-specific functions. For just about all UNIX compilers the getarg() function can be used for this purpose. However, just in case this function is not available, all programs of the PEST suite except SENSAN can be compiled with a preprocessing option (invoked by the NO_CMDLINE symbol of Table 2) that allows the command line to be read as a character string using standard FORTRAN data input functionality. Executable versions of PEST and its utilities which are compiled using this option will prompt the user for command line arguments as soon as they commence execution. Thus, for example, instead of running INSCHEK with the command: inschek file.ins modfile.out (where file.ins is an instruction file and modfile.out is a model output file), it should be run using the command: inschek Then, as soon as it commences execution, it prompts: Enter command line arguments > to which you should respond: file.ins modfile.out This option is not supported with SENSAN because it must run each of TEMPCHEK and INSCHEK in the course of its execution; it is programmed to do so using command line arguments. 8
9 3.6 Run-Time Differences Apart from the differences outlined above, every effort has been made to make the use of PEST identical across platforms and operating systems. Nevertheless some differences may remain. For example the optimised objective function for a particular case may be slightly different for versions of PEST generated by different compilers. It is also possible that PEST will need to perform an extra optimisation iteration or two for parameter fine tuning on some machines, and that parameter estimates may differ slightly from platform to platform. These discrepancies result from differences in the way processors manipulate real numbers, and on the way such numbers are stored on different platforms. However such differences are expected to be minor and will not impair PEST s ability to operate correctly on any particular system. Other slight variations may be noticed in the operation of some of the PEST utilities. For example, one of the compilers that we have encountered reads the string 2.0* as the number 2 instead of generating an error condition based on the fact that the string 2.0* is not, in fact, a number. This has repercussions when PESTCHEK (when compiled with that compiler) checks the prior information section of a PEST control file in which the user has forgotten to separate the * character from the parameter value multiplier, as instructed in Section 4 of the PEST manual. In this case PESTCHEK will read 2.0* as 2 and will report an error when it reads the ensuing parameter name while expecting to find the * character. The resulting error message will state that the parameter name is an illegal prior information item when, in fact, the previous item, (viz. 2.0* ) was the illegal item. 3.7 Using SVD-Assist The PEST manual describes SVD-assisted parameter estimation; this is a device, unique to PEST, by which optimisation efficiency and stability can be increased enormously in highly parameterised contexts. When using this methodology, preparation of a PEST control file based on super parameters is undertaken automatically using the SVDAPREP utility. SVDAPREP obtains the information that it needs for generation of this new control file from the PEST control file pertaining to an existing regularised parameter estimation problem that uses base parameters, these being the native parameters for that particular problem. When PEST undertakes SVD-assisted parameter estimation on the basis of super parameters, the model must be a batch file on the PC platform, or a script file on the UNIX platform. This is because the model must include commands to run the PEST utilities PARCALC and PICALC to generate model input files and calculate prior information respectively, using base parameter values (even though the PEST control file only references super parameters). It is thus essential that the parcalc and picalc executable programs reside in a directory cited in the PATH environment variable. Part of SVDAPREP s job in creating input files for a super-parameter PEST run is to modify the existing batch or script file to include the new commands. (The modified file is actually written as a new file; the existing batch or script file is not destroyed.) Hence, even for the base parameter control file, the model must actually be a batch or script file; it must not be an executable program. In the PC environment, the difference between the two is easily detected as batch files possess an extension of.bat and executable programs possess an extension of.exe. No such protocols are followed in the UNIX system. So while SVDAPREP can detect the difference on a PC, it cannot on a UNIX system. If the existing 9
10 model command is an executable program rather than a script file, then the new script file named svdabatch.bat created by SVDAPREP will be comprised of nonsense and will not run. It is the user s responsibility, therefore, to ensure that the original base PEST control file uses a model command line which runs a script file rather than an executable program to prevent this occurrence. (Note that SVDAPREP uses the chmod command to give file svdabatch.bat which it creates executable status.) 3.8 BEOPEST BEOPEST can use MPI or TCP/IP for communication between master and slaves. The version of BEOPEST that is compiled using the beopest.mak makefile discussed above, can use only the TCP/IP protocol. 10
Addendum to the PEST Manual
Addendum to the PEST Manual John Doherty Watermark Numerical Computing November 2015 Acknowledgements Acknowledgements I would like to acknowledge the help of the following institutions who provided me
grep, awk and sed three VERY useful command-line utilities Matt Probert, Uni of York grep = global regular expression print
grep, awk and sed three VERY useful command-line utilities Matt Probert, Uni of York grep = global regular expression print In the simplest terms, grep (global regular expression print) will search input
Unix Shell Scripts. Contents. 1 Introduction. Norman Matloff. July 30, 2008. 1 Introduction 1. 2 Invoking Shell Scripts 2
Unix Shell Scripts Norman Matloff July 30, 2008 Contents 1 Introduction 1 2 Invoking Shell Scripts 2 2.1 Direct Interpretation....................................... 2 2.2 Indirect Interpretation......................................
LECTURE-7. Introduction to DOS. Introduction to UNIX/LINUX OS. Introduction to Windows. Topics:
Topics: LECTURE-7 Introduction to DOS. Introduction to UNIX/LINUX OS. Introduction to Windows. BASIC INTRODUCTION TO DOS OPERATING SYSTEM DISK OPERATING SYSTEM (DOS) In the 1980s or early 1990s, the operating
HPC Wales Skills Academy Course Catalogue 2015
HPC Wales Skills Academy Course Catalogue 2015 Overview The HPC Wales Skills Academy provides a variety of courses and workshops aimed at building skills in High Performance Computing (HPC). Our courses
Getting the Most out of PEST
Getting the Most out of PEST John Doherty Watermark Numerical Computing August, 2013 Table of Contents This Document... 1 PEST Tutorial... 1 List of All PEST Control Variables... 1 Optimal PEST Settings...
Introduction to Linux and Cluster Basics for the CCR General Computing Cluster
Introduction to Linux and Cluster Basics for the CCR General Computing Cluster Cynthia Cornelius Center for Computational Research University at Buffalo, SUNY 701 Ellicott St Buffalo, NY 14203 Phone: 716-881-8959
Understand for FORTRAN
Understand Your Software... Understand for FORTRAN User Guide and Reference Manual Version 1.4 Scientific Toolworks, Inc. Scientific Toolworks, Inc. 1579 Broad Brook Road South Royalton, VT 05068 Copyright
Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
1 Description of The Simpletron
Simulating The Simpletron Computer 50 points 1 Description of The Simpletron In this assignment you will write a program to simulate a fictional computer that we will call the Simpletron. As its name implies
Glossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
How to Write a Simple Makefile
Chapter 1 CHAPTER 1 How to Write a Simple Makefile The mechanics of programming usually follow a fairly simple routine of editing source files, compiling the source into an executable form, and debugging
Thirty Useful Unix Commands
Leaflet U5 Thirty Useful Unix Commands Last revised April 1997 This leaflet contains basic information on thirty of the most frequently used Unix Commands. It is intended for Unix beginners who need a
Chapter 7: Additional Topics
Chapter 7: Additional Topics In this chapter we ll briefly cover selected advanced topics in fortran programming. All the topics come in handy to add extra functionality to programs, but the feature you
Athena Knowledge Base
Athena Knowledge Base The Athena Visual Studio Knowledge Base contains a number of tips, suggestions and how to s that have been recommended by the users of the software. We will continue to enhance this
Hypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
Optimization tools. 1) Improving Overall I/O
Optimization tools After your code is compiled, debugged, and capable of running to completion or planned termination, you can begin looking for ways in which to improve execution speed. In general, the
PDSI Users Manual Version 2.0
PDSI Users Manual Version 2.0 Nathan Wells National Agricultural Decision Support System http://nadss.unl.edu University of Nebraska-Lincoln [email protected] July 15, 2003 Contents Introduction... 3
HP-UX Essentials and Shell Programming Course Summary
Contact Us: (616) 875-4060 HP-UX Essentials and Shell Programming Course Summary Length: 5 Days Prerequisite: Basic computer skills Recommendation Statement: Student should be able to use a computer monitor,
Database Programming with PL/SQL: Learning Objectives
Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs
AIMMS 4.0. Portable component Linux Intel version. Release Notes for Build 4.9. Visit our web site www.aimms.com for regular updates AIMMS
AIMMS 4.0 Portable component Linux Intel version Release Notes for Build 4.9 Visit our web site www.aimms.com for regular updates AIMMS September 2, 2015 Contents Contents 2 1 System Overview of the Intel
Simple File Input & Output
Simple File Input & Output Handout Eight Although we are looking at file I/O (Input/Output) rather late in this course, it is actually one of the most important features of any programming language. The
Sources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
Mimer SQL. Programmer s Manual. Version 8.2 Copyright 2000 Mimer Information Technology AB
Mimer SQL Version 8.2 Copyright 2000 Mimer Information Technology AB Second revised edition December, 2000 Copyright 2000 Mimer Information Technology AB. Published by Mimer Information Technology AB,
Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2
Lecture Handout Computer Architecture Lecture No. 2 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 2,Chapter3 Computer Systems Design and Architecture 2.1, 2.2, 3.2 Summary 1) A taxonomy of
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
S7 for Windows S7-300/400
S7 for Windows S7-300/400 A Programming System for the Siemens S7 300 / 400 PLC s IBHsoftec has an efficient and straight-forward programming system for the Simatic S7-300 and ern controller concept can
24/08/2004. Introductory User Guide
24/08/2004 Introductory User Guide CSAR Introductory User Guide Introduction This material is designed to provide new users with all the information they need to access and use the SGI systems provided
New Tools Using the Hardware Pertbrmaiihe... Monitor to Help Users Tune Programs on the Cray X-MP*
ANL/CP--7 4428 _' DE92 001926 New Tools Using the Hardware Pertbrmaiihe... Monitor to Help Users Tune Programs on the Cray X-MP* D. E. Engert, L. Rudsinski J. Doak Argonne National Laboratory Cray Research
Creating a Simple Macro
28 Creating a Simple Macro What Is a Macro?, 28-2 Terminology: three types of macros The Structure of a Simple Macro, 28-2 GMACRO and ENDMACRO, Template, Body of the macro Example of a Simple Macro, 28-4
QA Analysis of the WRF Program
QA Analysis of the WRF Program WRF Workshop, Boulder Colorado, 26-28th June 2012 Mark Anderson 1 John Collins 1,2,3,4 Brian Farrimond 1,2,4 [email protected] [email protected] [email protected]
PART-A Questions. 2. How does an enumerated statement differ from a typedef statement?
1. Distinguish & and && operators. PART-A Questions 2. How does an enumerated statement differ from a typedef statement? 3. What are the various members of a class? 4. Who can access the protected members
Apache Thrift and Ruby
Apache Thrift and Ruby By Randy Abernethy In this article, excerpted from The Programmer s Guide to Apache Thrift, we will install Apache Thrift support for Ruby and build a simple Ruby RPC client and
Siebel Application Deployment Manager Guide. Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013
Siebel Application Deployment Manager Guide Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013 Copyright 2005, 2013 Oracle and/or its affiliates. All rights reserved. This software and related
Good FORTRAN Programs
Good FORTRAN Programs Nick West Postgraduate Computing Lectures Good Fortran 1 What is a Good FORTRAN Program? It Works May be ~ impossible to prove e.g. Operating system. Robust Can handle bad data e.g.
Operating system Dr. Shroouq J.
3 OPERATING SYSTEM STRUCTURES An operating system provides the environment within which programs are executed. The design of a new operating system is a major task. The goals of the system must be well
InterBase 6. Embedded SQL Guide. Borland/INPRISE. 100 Enterprise Way, Scotts Valley, CA 95066 http://www.interbase.com
InterBase 6 Embedded SQL Guide Borland/INPRISE 100 Enterprise Way, Scotts Valley, CA 95066 http://www.interbase.com Inprise/Borland may have patents and/or pending patent applications covering subject
Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C
Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection
Repetition Using the End of File Condition
Repetition Using the End of File Condition Quick Start Compile step once always g++ -o Scan4 Scan4.cpp mkdir labs cd labs Execute step mkdir 4 Scan4 cd 4 cp /samples/csc/155/labs/4/*. Submit step emacs
Attix5 Pro Server Edition
Attix5 Pro Server Edition V7.0.3 User Manual for Linux and Unix operating systems Your guide to protecting data with Attix5 Pro Server Edition. Copyright notice and proprietary information All rights reserved.
1 Abstract Data Types Information Hiding
1 1 Abstract Data Types Information Hiding 1.1 Data Types Data types are an integral part of every programming language. ANSI-C has int, double and char to name just a few. Programmers are rarely content
Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
RECOVER ( 8 ) Maintenance Procedures RECOVER ( 8 )
NAME recover browse and recover NetWorker files SYNOPSIS recover [-f] [-n] [-q] [-u] [-i {nnyyrr}] [-d destination] [-c client] [-t date] [-sserver] [dir] recover [-f] [-n] [-u] [-q] [-i {nnyyrr}] [-I
Practice Fusion API Client Installation Guide for Windows
Practice Fusion API Client Installation Guide for Windows Quickly and easily connect your Results Information System with Practice Fusion s Electronic Health Record (EHR) System Table of Contents Introduction
Symbol Tables. Introduction
Symbol Tables Introduction A compiler needs to collect and use information about the names appearing in the source program. This information is entered into a data structure called a symbol table. The
MFCF Grad Session 2015
MFCF Grad Session 2015 Agenda Introduction Help Centre and requests Dept. Grad reps Linux clusters using R with MPI Remote applications Future computing direction Technical question and answer period MFCF
Chapter 13 - The Preprocessor
Chapter 13 - The Preprocessor Outline 13.1 Introduction 13.2 The#include Preprocessor Directive 13.3 The#define Preprocessor Directive: Symbolic Constants 13.4 The#define Preprocessor Directive: Macros
Cisco Networking Academy Program Curriculum Scope & Sequence. Fundamentals of UNIX version 2.0 (July, 2002)
Cisco Networking Academy Program Curriculum Scope & Sequence Fundamentals of UNIX version 2.0 (July, 2002) Course Description: Fundamentals of UNIX teaches you how to use the UNIX operating system and
DiskPulse DISK CHANGE MONITOR
DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com [email protected] 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product
How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself
How do Users and Processes interact with the Operating System? Users interact indirectly through a collection of system programs that make up the operating system interface. The interface could be: A GUI,
Database migration using Wizard, Studio and Commander. Based on migration from Oracle to PostgreSQL (Greenplum)
Step by step guide. Database migration using Wizard, Studio and Commander. Based on migration from Oracle to PostgreSQL (Greenplum) Version 1.0 Copyright 1999-2012 Ispirer Systems Ltd. Ispirer and SQLWays
32-Bit Workload Automation 5 for Windows on 64-Bit Windows Systems
32-Bit Workload Automation 5 for Windows on 64-Bit Windows Systems Overview 64-bit Windows Systems Modifying the Working Folder for Universal Server Components Applications Installed in the Windows System
Miami University RedHawk Cluster Working with batch jobs on the Cluster
Miami University RedHawk Cluster Working with batch jobs on the Cluster The RedHawk cluster is a general purpose research computing resource available to support the research community at Miami University.
Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)
Unit- I Introduction to c Language: C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating
CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler
CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler 1) Operating systems a) Windows b) Unix and Linux c) Macintosh 2) Data manipulation tools a) Text Editors b) Spreadsheets
Operating System Components
Lecture Overview Operating system software introduction OS components OS services OS structure Operating Systems - April 24, 2001 Operating System Components Process management Memory management Secondary
The Einstein Depot server
The Einstein Depot server Have you ever needed a way to transfer large files to colleagues? Or allow a colleague to send large files to you? Do you need to transfer files that are too big to be sent as
CNC Transfer. Operating Manual
Rank Brothers Ltd CNC Transfer Operating Manual Manufactured by: Rank Brothers Ltd 56 High Street, Bottisham, Cambridge CB25 9DA, England Tel: +44 (0)1223 811369 Fax: +44 (0)1223 811441 Website: http://www.rankbrothers.co.uk/
PMOD Installation on Linux Systems
User's Guide PMOD Installation on Linux Systems Version 3.7 PMOD Technologies Linux Installation The installation for all types of PMOD systems starts with the software extraction from the installation
Managing Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA [email protected] Len Bass Software Engineering Institute Carnegie
Computational Mathematics with Python
Computational Mathematics with Python Basics Claus Führer, Jan Erik Solem, Olivier Verdier Spring 2010 Claus Führer, Jan Erik Solem, Olivier Verdier Computational Mathematics with Python Spring 2010 1
Tutorial - PEST. Visual MODFLOW Flex. Integrated Conceptual & Numerical Groundwater Modeling
Tutorial - PEST Visual MODFLOW Flex Integrated Conceptual & Numerical Groundwater Modeling PEST with Pilot Points Tutorial This exercise demonstrates some of the advanced and exiting opportunities for
Site Configuration SETUP GUIDE. Windows Hosts Single Workstation Installation. May08. May 08
Site Configuration SETUP GUIDE Windows Hosts Single Workstation Installation May08 May 08 Copyright 2008 Wind River Systems, Inc. All rights reserved. No part of this publication may be reproduced or transmitted
Information technology Programming languages Fortran Enhanced data type facilities
ISO/IEC JTC1/SC22/WG5 N1379 Working draft of ISO/IEC TR 15581, second edition Information technology Programming languages Fortran Enhanced data type facilities This page to be supplied by ISO. No changes
Access Tutorial 2: Tables
Access Tutorial 2: Tables 2.1 Introduction: The importance of good table design Tables are where data in a database is stored; consequently, tables form the core of any database application. In addition
Introduction to Minitab Macros. Types of Minitab Macros. Objectives. Local Macros. Global Macros
Minitab Macros 10.1 Introduction to Minitab Macros 10.2 Global Minitab Macros 10.3 Local Minitab Macros 10.4 Advanced Minitab Macro Programming 10.5 Hints on Debugging Macros Introduction to Minitab Macros
SLURM Workload Manager
SLURM Workload Manager What is SLURM? SLURM (Simple Linux Utility for Resource Management) is the native scheduler software that runs on ASTI's HPC cluster. Free and open-source job scheduler for the Linux
USEFUL UNIX COMMANDS
cancel cat file USEFUL UNIX COMMANDS cancel print requested with lp Display the file cat file1 file2 > files Combine file1 and file2 into files cat file1 >> file2 chgrp [options] newgroup files Append
Introduction to the UNIX Operating System and Open Windows Desktop Environment
Introduction to the UNIX Operating System and Open Windows Desktop Environment Welcome to the Unix world! And welcome to the Unity300. As you may have already noticed, there are three Sun Microsystems
C++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
Computational Mathematics with Python
Boolean Arrays Classes Computational Mathematics with Python Basics Olivier Verdier and Claus Führer 2009-03-24 Olivier Verdier and Claus Führer Computational Mathematics with Python 2009-03-24 1 / 40
Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.
Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to
CDD user guide. PsN 4.4.8. Revised 2015-02-23
CDD user guide PsN 4.4.8 Revised 2015-02-23 1 Introduction The Case Deletions Diagnostics (CDD) algorithm is a tool primarily used to identify influential components of the dataset, usually individuals.
Creating a Java application using Perfect Developer and the Java Develo...
1 of 10 15/02/2010 17:41 Creating a Java application using Perfect Developer and the Java Development Kit Introduction Perfect Developer has the facility to execute pre- and post-build steps whenever the
Streamline Computing Linux Cluster User Training. ( Nottingham University)
1 Streamline Computing Linux Cluster User Training ( Nottingham University) 3 User Training Agenda System Overview System Access Description of Cluster Environment Code Development Job Schedulers Running
Unix Scripts and Job Scheduling
Unix Scripts and Job Scheduling Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh [email protected] http://www.sis.pitt.edu/~spring Overview Shell Scripts
Scientific Programming, Analysis, and Visualization with Python. Mteor 227 Fall 2015
Scientific Programming, Analysis, and Visualization with Python Mteor 227 Fall 2015 Python The Big Picture Interpreted General purpose, high-level Dynamically type Multi-paradigm Object-oriented Functional
Beginners Shell Scripting for Batch Jobs
Beginners Shell Scripting for Batch Jobs Evan Bollig and Geoffrey Womeldorff Before we begin... Everyone please visit this page for example scripts and grab a crib sheet from the front http://www.scs.fsu.edu/~bollig/techseries
Workflow-Management with flowguide
Technical White Paper May 2003 flowguide IT-Services Workflow-Management with flowguide (TM) Improving Quality and Efficiency by Automating your Engineering Processes Betriebskonzepte Sicherheitslösungen
Back-up Server DOC-OEMSPP-S/2014-BUS-EN-10/12/13
Back-up Server DOC-OEMSPP-S/2014-BUS-EN-10/12/13 The information contained in this guide is not of a contractual nature and may be subject to change without prior notice. The software described in this
Parallel Processing using the LOTUS cluster
Parallel Processing using the LOTUS cluster Alison Pamment / Cristina del Cano Novales JASMIN/CEMS Workshop February 2015 Overview Parallelising data analysis LOTUS HPC Cluster Job submission on LOTUS
KITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php [email protected] [email protected] Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
The Double-layer Master-Slave Model : A Hybrid Approach to Parallel Programming for Multicore Clusters
The Double-layer Master-Slave Model : A Hybrid Approach to Parallel Programming for Multicore Clusters User s Manual for the HPCVL DMSM Library Gang Liu and Hartmut L. Schmider High Performance Computing
Outbreak questionnaires and data entry using the new EpiData modules
Outbreak questionnaires and data entry using the new EpiData modules Contents Outbreak questionnaires and data entry using the new EpiData modules... 1 Introduction... 1 A. Install... 2 B. Get to know
UNIX, Shell Scripting and Perl Introduction
UNIX, Shell Scripting and Perl Introduction Bart Zeydel 2003 Some useful commands grep searches files for a string. Useful for looking for errors in CAD tool output files. Usage: grep error * (looks for
Chapter One Introduction to Programming
Chapter One Introduction to Programming 1-1 Algorithm and Flowchart Algorithm is a step-by-step procedure for calculation. More precisely, algorithm is an effective method expressed as a finite list of
Inteset Secure Lockdown ver. 2.0
Inteset Secure Lockdown ver. 2.0 for Windows XP, 7, 8, 10 Administrator Guide Table of Contents Administrative Tools and Procedures... 3 Automatic Password Generation... 3 Application Installation Guard
Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C
Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C 1 An essential part of any embedded system design Programming 2 Programming in Assembly or HLL Processor and memory-sensitive
HP A-IMC Firewall Manager
HP A-IMC Firewall Manager Configuration Guide Part number: 5998-2267 Document version: 6PW101-20110805 Legal and notice information Copyright 2011 Hewlett-Packard Development Company, L.P. No part of this
Cluster@WU User s Manual
Cluster@WU User s Manual Stefan Theußl Martin Pacala September 29, 2014 1 Introduction and scope At the WU Wirtschaftsuniversität Wien the Research Institute for Computational Methods (Forschungsinstitut
Top 10 Things to Know about WRDS
Top 10 Things to Know about WRDS 1. Do I need special software to use WRDS? WRDS was built to allow users to use standard and popular software. There is no WRDSspecific software to install. For example,
Managing Code Development Using CCS Project Manager
Application Report SPRA762 - June 2001 Managing Code Development Using CCS Project Manager Chuck Farrow Andy Thé Northeast Applications ABSTRACT This application report presents the new features available
Decimal form. Fw.d Exponential form Ew.d Ew.dEe Scientific form ESw.d ESw.dEe Engineering form ENw.d ENw.dEe Lw. Horizontal
Fortran Formats The tedious part of using Fortran format is to master many format edit descriptors. Each edit descriptor tells the system how to handle certain type of values or activity. Each value requires
MICROPROCESSOR AND MICROCOMPUTER BASICS
Introduction MICROPROCESSOR AND MICROCOMPUTER BASICS At present there are many types and sizes of computers available. These computers are designed and constructed based on digital and Integrated Circuit
VersaLex Getting Started Guide 1.31.2011
VersaLex Getting Started Guide 1.31.2011 RESTRICTED RIGHTS Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (C)(1)(ii) of the Rights in Technical
Subversion workflow guide
Subversion workflow guide Joanne Carr January 2010 Contents 1 Before we start: some definitions, etc. 2 2 UKRmol-in repository layout 3 3 Checking out 3 4 Monitoring and dealing with
Evaluation of the CMT and SCRAM Software Configuration, Build and Release Management Tools
Evaluation of the CMT and SCRAM Software Configuration, Build and Release Management Tools Alex Undrus Brookhaven National Laboratory, USA (ATLAS) Ianna Osborne Northeastern University, Boston, USA (CMS)
Performance analysis of a Linux based FTP server
Performance analysis of a Linux based FTP server A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Technology by Anand Srivastava to the Department of Computer Science
