GEOS-Chem Adjoint Users Guide (Draft)

Size: px
Start display at page:

Download "GEOS-Chem Adjoint Users Guide (Draft)"

Transcription

1 GEOS-Chem Adjoint Users Guide (Draft) Daven K. Henze May 12, 2009 Contents 1 Getting started Obtaining run packages Obtaining source code The run script Benchmark simulations Downloading benchmark packages Running benchmark simulations Analyzing benchmark results Checklist for running code 9 3 Selecting the adjoint model operational mode Active variable selection Pre-processor includes Process specific flags Subroutines that get edited frequently SUBROUTINE SET ICS SUBROUTINE INIT WEIGHT SUBROUTINE RESCALE ADJOINT Directories and output files Directories Output files Essential output files Nonessential output files Sensitivity with respect to reaction rate coefficients 14 1

2 6.1 Adding new reactions Saving reaction rate sensitivities Validating code Global tests of a subset of the adjoint model Spot tests of full adjoint model Box model adjoint chemistry tests Generating forward and reverse code for GEOS-Chem with the Kinetic PreProcessor (KPP) KPP input files Post processing KPP generated code Interfacing KPP code with GEOS-Chem Implementing OpenMP Parallelization in KPP generated code Performing global benchmarks of new chemical solvers References 21 2

3 1 Getting started 1.1 Obtaining run packages Run packages are available from the GC-adjoint website. The package includes the following directories ADJvXX bench/tmp ADJvXX bench/adjtmp ADJvXX bench/run.v geos3 where XX is the current version number. The run script, input files, and benchmark results are in the run directory, ADJvXX run.v geos Obtaining source code To access the CVS repository, place the following lines in your.cshrc file (or bash equivalent) setenv CVS_RSH ssh setenv CVSROOT where name is your user name. To download the most current copy of the code, enter the following command cvs checkout dkh_gc_adj This will download a code directory dkh gc adj containing the source code. Place this in the run package, ADJvXX bench/dkh gc adj. Perhaps you already have a version of the source code. To determine the status of your existing code vs the current repository version, enter your local copy of the code directory and type cvs status or perhaps more useful, cvs status grep Status To determine the difference between your copy and the repository copy, type cvs diff -D now 3

4 The commands without arguments will apply to all files in the repository. To use them for only one specific file, for example adjoint mod.f, type: cvs diff -D now adjoint_mod.f Note: the -D takes the difference between your copy and the newest repository copy. Without the -D flag, you see the difference between your copy and the version that was in the repository as of the last time you checked out the code. To replace your local copy of adjoint mod.f with the newest version from the repository, cvs checkout adjoint_mod.f or to merge the contents from the repository with your own, cvs update adjoint_mod.f More information on CVS is at For now, please do not use the commit command. I will handle incorporating changes into the code repository. Please do not distribute copies of the code at this time; you may refer such requests to me. 1.3 The run script NOTE: The run script only seems to work if you use tcsh. My apologies to users of other shells. To use, you have to set several variables in the script, following the instructions therein. Change often (almost every run): X XSTOP RNAME Change rarely (only when migrating to a new filesystem): DSAVE DRUNDIR DPACK Unlikely to need to be changed from the defaults: DCODE DRUN 4

5 The frequently changed variables are X, XSTOP, and RNAME. Set RNAME to be a descriptive name of your current calculation (such as ADJv23_optimize_NH3_emissions). Set the start (or current) iteration number, X. Set XSTOP to the final iteration number. For example, if you ve already computed five iterations, then set X=6 and XSTOP=9 to compute three more. At each iteration, the current value of X is assigned to the variable N_CALC_STOP in inverse.f, the code is recompiled, the executable is moved to the run directory, and the program is executed. X = 0 is used for generating pseudo observations. For example, if X=0 and XSTOP =4: Computational flow for each iteration X=0 X=1 X=2 X=3 X=4 σ=1 σ=1+δσ read *.01 read *.01 read *.01 DO_GEOS_CHEM DO_GEOS_CHEM update σ update σ update σ make *obs* DO_ADJOINT DO_GEOS_CHEM read *.02 read *.02 write *.01 DO_ADJOINT update σ update σ write *.02 DO_GEOS_CHEM read *.03 DO_ADJOINT write *.03 Why is it necessary to recompile the code between each iteration? includes many initialization processes, LOGICAL, SAVE. IF ( FIRST ) THEN CALL INIT_ARRAYS FIRST =.FALSE. ENDIF. :: FIRST =.TRUE. update σ DO_GEOS_CHEM DO_ADJOINT write *.04 The forward model By recompiling the code between each iteration, these logical control switches get automatically reset to FIRST =.TRUE.. Doesn t this repeated reading / writing / optimizing take a lot of time? No, not with respect to the expense of the forward and backward model calculations. For sensitivity calculations, set X and XSTOP to 1 5

6 1.4 Benchmark simulations Downloading benchmark packages Download one of the benchmark packages from puck: ADJvXX bench opt geos3 ADJvXX bench opt geos3 lin ADJvXX bench opt geos4 ADJvXX bench fd geos3 ADJvXX bench fd geos3 short ADJvXX bench fd geos4 These packages contain the necessary inputs and the benchmark results Running benchmark simulations Setting input files You will need to make the following changes to the input files, as they depend upon your particular filesystem: Set DRUN and DSAVE in the run script, as dictated by your filesystem. Set data folder locations DATA_DIR GEOS_3_DIR and GEOS_4_DIR in input.geos. May have to change LZIP, depending on wether or not your met data is zipped. As of ADJv27, the TEMP_DIR directory setting here is no longer relevant, as this is overwritten by hardwired code in setup.f to allow for relative addressing of this directory. Set HDF locations in Makefile (for version ADJv28 and earlier) Setting source code When running the benchmark tests, you should checkout your own copy of the source code (see Sect. 1.2) and make the appropriate modifications to it to try the various benchmarks. The CVS repository contains the source code for the default test, ADJvXX bench opt geos3. No adjustment of source code necessary to run this test. The difference between the source code for the ADJvXX bench opt geos3 test and other tests are given in the file diff.adjvxx bench *.txt in the run directory. For example, in the package ADJvXX bench opt geos4, there is a file diff.adjvxx bench opt geos4.txt, which should look something like this: 6

7 Index: define.h =================================================================== RCS file: /Volumes/scratch/CVSrepos/dkh_gc_adj/define.h,v retrieving revision diff -r define.h 99,100c99,100 < #define GEOS_3 GEOS_3 <!#define GEOS_4 GEOS_4 --- >!#define GEOS_3 GEOS_3 > #define GEOS_4 GEOS_4 Therefore, to run the ADJvXX bench opt geos4 benchmark test, this file tells you to change line 99 and 100 of define.h to indicate use of GEOS 4 met fields. Running the tests like:./run > log.my_benchmark_test & Now you are ready to execute the run script, with a unix command If all goes well, the output should finish with: G E O S C H E M A D J O I N T E X I T E D N O R M A L L Y Note: for the finite difference tests, the simulation is aborted on purpose after the forward model evaluation at the 3rd iteration, in which case the logfile will end with: * * * E R R O R * * * G E O S C H E M A D J O I N T D I D N O T F I N I S H That s OK. Finishing the calculation here by computing the adjoint again would be a waste of time Analyzing benchmark results Optimization tests The optimization benchmark simulation attempts to optimize emissions of anthropogenic ammonia, ENH3_an, starting with domain wide exponential scaling 7

8 factors of ln(2.00) and pseudo observations that were generated with exponential scaling factors of The simulation is only 6h long and should start to converge after a few iterations. Output from my benchmark runs are in the directory../run.v geos3/optdata/. To quickly see how the cost function converges, grep OptData/cfn* The cost function should have reduced by more than an order of magnitude. Note: not all value of the cost function listed here correspond to accepted iterations of the optimization procedure. Some are function evaluations that correspond to the optimization performing searches in various directions before finding the optimal path towards a minimum. To see which values correspond to accepted iterations, grep iterate log To see the inverse modeling solution after the 6th iteration, look at the optimized scaling factors in the gctm.ics.06 file using gamap, IDL> gamap, file= gctm.ics.06, IJ-EMS-$, yrange=[-1,1] Check the value for EMSNH3a. Scaling factors should be close to 0.0 in locations where anthropogenic NH3 emissions are significant. The scaled emissions themselves are shown in the IJ-EM0-$ category. Finite difference tests The finite difference tests are domain wide comparisons of adjoint sensitivities of SO4 to NOx emissions over the course of a 1 week simulation with no transport. All other processes are included. In essence, this tests an ensemble of column models. To speed up the evaluation of this test, chemistry is only calculated in the LFD level. This simulation will run for 2 complete iterations, and then only the forward part of the 3rd iteration, afterwhich the logfile will state something like: Global validation test for values > MAX of global 2nd order ADJ / FD = MIN of global 2nd order ADJ / FD = Number of places where ratio off by = 88 That the min and max of the ADJ / FD ratio is much greater or less than 1.d0 may or may not be significant. In general, it shouldn t be off by more than x10, and the number of places where the ratio is off by more than 10% shouldn t be much more than 100. However, 8

9 to tell wether ADJ / FD rations that deviate from 1.0 are owing to errors in the adjoint code or to limitations of finite difference sensitivities, the results will have to be plotted. The key results are saved to the *save2* file. The contents can be analyzed using GAMAP. After loading a file and viewing some results, IDL> gamap, file= gctm.save generate a data set for a scatter plot of adjoint vs finite difference values using IDL> fd_stats and plot the results in MATLAB using >>fd_vs_adj Sample output is shown here: The IDL and MATLAB scripts for making these plots are here: More about setting up and designing your own finite difference validation tests is in Sect Checklist for running code Set folder locations in run and CMN ADJ, input.geos. Set HDF locations in Makefile (for version ADJv28 and earlier) All the standard forward model inputs need to be defined. Set the run script to the proper number of iterations Set ACTIVE_VARS in CMN ADJ Check pre-processor includes in CMN ADJ Check logical control flags and OBS_FREQ in CMN ADJ Set WEIGHT in INIT_WEIGHT (adjoint mod.f ). Check SET_ICS in inverse mod.f. 3 Selecting the adjoint model operational mode All of the following are defined in CMN ADJ. 9

10 3.1 Active variable selection ACTIVE_VARS is used to control what type of calculation is being performed by specifying the active variables. The following types of simulations are supported: TRACERS EMISSIONS FDTEST For optimization of tracer concentrations (i.e. initial conditions). For optimization of emissions. No optimization. Gradients compared to finite difference calculations. Currently this is set up to compare gradients with respect to emissions parameters. Note: this method of adding model functionality no longer preferred, see below. 3.2 Pre-processor includes Several pre-processor include statements in CMN ADJ also control the operational mode of the adjoint model. For future model development, this is the preferred technique, as opposed to defining more possible values for ACTIVE_VARS. These mainly affect when (and if) observations are read, when corresponding predictions are saved, and how the cost function is calculated. Current supported modes of operation: JACOBIAN PM_ATTAINMENT O3_ATTAINMENT IMPROVE_OBS CASTNET_OBS LOG_OPT NO2_SAT_OBS default For finite difference test or sensitivity calculations. For use, must also set ACTIVE_VARS = FDTEST. Cost function is model predictions only; no observations (pseudo or real) required. Set X=1 and XSTOP=2 in the run script. Note that this only calculates one column of the model Jacobian, not the full Jacobian matrix. For aerosol attainment sensitivities; no observations (pseudo or real) required. For ozone attainment sensitivities; no observations (pseudo or real) required. Assimilate aerosol observations from IMPROVE data files. Assimilate aerosol observations from CASTNET data files. Use log-scaling factors. Assimilate SCIAMACHY or GOME NO 2 data from KNMI hdf files. If none of these are defined, the default operation is for using pseudo observations. FD_GLOB Perform domain wide finite difference test. Goes with JACOBIAN and ACTIVE_VARS = FDTEST. MAK has defined other modes of operation? 10

11 3.3 Process specific flags Can turn on and off various processes, similar to the forward model flags in input.geos, using the logical flags in CMN ADJ. Invalid combinations of forward and backwards flags will be caught in the ARE_FLAGS_VALID subroutine in geos chem mod.f. For example, you can t have chemistry without dry deposition, as dry deposition rates are necessary for chemistry. Also, for turning chemistry on and off, use LADJ_CHEM flag in CMN ADJ rather than the LCHEM flag in input.geos. 4 Subroutines that get edited frequently 4.1 SUBROUTINE SET ICS This routine sets scaling factors at the beginning of the run. If FWD_RUN_TYPE = REFERENCE, then these are the scaling factors used to generate pseudo observations. If FWD_RUN_TYPE= PERTURBED, then these scaling factors are the initial guesses. For inverse model tests using pseudo observations, we usually set the initial guess of scaling factors to be some value other than one (or zero for LOG_OPT) and then try to converge to values of one (zero). For real data assimilation problems or attainment studies, we begin with our best estimate, i.e. scaling factors equal to one (zero), and converge to values that lead to best agreement with observations. 4.2 SUBROUTINE INIT WEIGHT This subroutine is used to specify the domain over which observations are included in the cost function for the JACOBIAN, ATTAINMENT, or pseudo observation model runs. 4.3 SUBROUTINE RESCALE ADJOINT This subroutine also regularizes the cost function via inclusion of a priori constraints. Parameters of note: REG_EMS REG_PARAM Uncertainty of the emissions A weighting factor (γ) that determines the overall weight of the a priori constraints 11

12 5 Directories and output files 5.1 Directories The adjoint code package ADJvXX [foo] contains the following directories dkh gc adj run.v geo3 adjtmp tmp run.v /optdata Code directory Run directory Adjoint temporary file directory (gctm.chk.*; gctm.obs.*; gctm.save.*; gctm.adj.*; aero.ave.*; satave.*; jsave.* ) Forward model temporary file directory (unzipped met fields) Results from each iteration (gctm.gdt.*; cfn.*; gctm.ics.*, fwd dat.*.tar; gctm.arr) 5.2 Output files See Sect. 5.1 for locations. All are binary bunch files unless otherwise noted. Note: files that don t have an iteration token in their name will be overwritten or removed at each iteration. Exceptions are aero.ave* and satave* files, which are lumped into fwd dat.*.tar files after each iteration, see the run script. 12

13 5.2.1 Essential output files adjtmp/gctm*.chk.* OptData/gctm.gdt.NN OptData/gctm.ics.NN OptData/cfn.NN Checkpoint files. Generated during the forward run; deleted after they are used in the backward run (although the L_DEL_CHECKPT flag in CMN ADJ allows you to not delete them if desired). See checkpt mod.f for more details on content. Gradients of active parameters at each iteration NN (IJ-GDE-$). These gradients are semi-normalized. To include fully-normalized gradients (IJ-GDEN$ for diagnostic purposes), set L_WRITE_GDEN =.TRUE. at the top of the rountine MAKE_GDT_FILE. Also included are emissions sensitivities, DEMISRR, DEMISRRB, DBIOFUEL, and DBURNEMI. Scaling factors at each iteration NN. The scaled emissions themselves at each iteration are also included in this file for diagnostic purposes. Hence, the a priori estimates of emissions will be found in gctm.ics.01, optimized emissions found in gctm.ics.10, etc. The scaling factors are IJ-EMS-$ and the emissions themselves are IJ-EM0-$. For attainment studies, emissions as a percentage in the US are IJ-EMP-$. Emissions from EMISRR, EMISRRB, BIOFUEL, and BURNEMI. Cost function at each iteration NN. ASCII 13

14 5.2.2 Nonessential output files adjtmp/satave.bpch adjtmp/gctm.adj.yyyymmdd.hhmmss Adjoint state variables (λ c ). Purely diagnostic; only written if LADJ_TRAJ = T (in CMN ADJ ) and ITS_TIME_FOR_OBS. The number of these files kept can be controlled using the REMOVE_ADJ_FILE routine (defunct, need to fix!) in adjoint mod.f and the N_ADJ_KEEP parameter in CMN ADJ. Can be saved as sensitivities with respect to concentrations or concentration scaling factors, see MAKE_ADJ_FILE in adjoint mod.f. adjtmp/gctm.obs.yyyymmdd.hhmmss Pseudo observation file. adjtmp/gctm.save.yyyymmdd.hhmmss Diagnostic file. Used for process specific finite difference tests. adjtmp/gctm.save2.yyyymmdd.hhmmss Diagnostic file. Used for process specific second order finite difference tests. Only generated if... adjtmp/aero.ave.yyyymmdd Aerosol data and corresponding model predictions. Generated when running with IMPROVE_OBS or PM_ATTAINMENT options. adjtmp/jsave.yyyymmdd Contributions to cost function. Generated when running with IMPROVE_OBS or ATTAINMENT options. Satellite data and corresponding model predictions for NO2_SAT_OBS. OptData/gctm.gdta.NN Gradients of all parameters at each iteration NN. Only generated if CALL MAKE_GDT_ALL_FILE in inverse.f. OptData/gctm.arr run.v geos3/fwd met run.v geos3/backwd met Integrated reaction rate constant sensitivities. Elements of the forward meteorology in the FD cell. Elements of the backward meteorology in FD cell. Should agree exactly with contents of FWD met. 6 Sensitivity with respect to reaction rate coefficients Currently, sensitivities with respect to the following reaction rate constants are included: 14

15 6.1 Adding new reactions To have the model calculate sensitivity with respect to additional rate constants, the following needs to be updated: Update the total number of active reaction rate constants, NCOEFF in gckpp adj Global.f90. NCOEFF is a the size of the vector JCOEFF, which holds the indicies of the active reaction rate constants. For the new active rate constants, make an entry in gckpp adj Util.f90 for JCOEFF. Define the value of JCOEFF(new index) to be the index of the reaction rate in the KPP generated reaction rate constant vector RCONST. This number can be found in the KPP input file gckpp adj.eqn on left side of each reaction definition. The corresponding SMVGEAR index is on the right side. Add an entry in the mapping array RCONST2RKPP for the new reaction in gckpp adj Util.f90. Make sure that the sensitivity with respect to this rate constant is actually being calculated in the subroutine ros_dadjint in gckpp adj Integrator.f90. The code contains the general formula for calculating discrete sensitivities with respect to reaction rate constants, see Appendix A of (Henze and Seinfeld, 2006). The general formula calculates all elements of (J p (t n, c n ) k i ) T u i and f T p (T i, C i ) u i. However, many of the elements of J p (t n, c n ) k i ) T (DJDR) and f T p (T i, C i ) (DFDR) are actually zero. Automatically exploiting such sparsity will be a future feature of KPP. Until then, we have to enter the non zero elements manually if we want only the sparse calculation. For example, if we would like to calculate the sensitivity of the cost function with respect to the rate constant for the reaction ALD 2 + NO 3 HNO 3 + MCO 3, we would find the following entry for this reaction in the KPP input file gckpp adj.eqn: {40} ALD2 + NO3 = HNO3 + MCO3: RKPP(JLOOP,54); If NCOEFF was previously 8, then we would set NCOEFF = 9 in gckpp adj Global.f90. gckpp adj Util.f90, in the subroutine INIT_KPP we would add the following lines: JCOEFF(9) = 40 RCONST2RRATE(40) = 54! ALD2 + NO3 --> HNO3 + MCO3 As mentioned above, in the routine ros_dadjint in gckpp adj Integrator.f90, these sensitivities can be calculated using the general formula, or one could implement the sparse formula: CASE(9)! f_r(y) * u j = ind_ald2 In 15

16 V_P(vpstart+icoeff,m) = DFDR(NVAR*(icoeff-1)+j)*U(istart+j-1,m) j = ind_no3 V_P(vpstart+icoeff,m) = V_P(vpstart+icoeff,m) + DFDR(NVAR*(icoeff-1)+j)*U(istart+j-1,m) j = ind_hno3 V_P(vpstart+icoeff,m) = V_P(vpstart+icoeff,m) + DFDR(NVAR*(icoeff-1)+j)*U(istart+j-1,m) j = ind_mco3 V_P(vpstart+icoeff,m) = V_P(vpstart+icoeff,m) + DFDR(NVAR*(icoeff-1)+j)*U(istart+j-1,m)! ( J_r x k )^T * u j = ind_ald2 V_P(vpstart+icoeff,m) = V_P(vpstart+icoeff,m) + DJDR(NVAR*(icoeff-1)+j)*U(istart+j-1,m) j = ind_no3 V_P(vpstart+icoeff,m) = V_P(vpstart+icoeff,m) + DJDR(NVAR*(icoeff-1)+j)*U(istart+j-1,m) j = ind_hno3 V_P(vpstart+icoeff,m) = V_P(vpstart+icoeff,m) + DJDR(NVAR*(icoeff-1)+j)*U(istart+j-1,m) j = ind_mco3 V_P(vpstart+icoeff,m) = V_P(vpstart+icoeff,m) + DJDR(NVAR*(icoeff-1)+j)*U(istart+j-1,m) 6.2 Saving reaction rate sensitivities The subroutine SAVE_INST_ARR can be used to print out reaction rate sensitivities in a particular cell at every time step. This routine also calls the routine MAKE_ARR_FILE which writes the integrated sensitivities globally to a binary punchfile, gctm.arr. 7 Validating code. The adjoint of GEOS-Chem is designed to be validated in several manners. 7.1 Global tests of a subset of the adjoint model By turning off multidirectional transport related processes, the adjoint model sensitivities can be compared to finite difference sensitivities on a global scale, see Fig. 1 and 3 of Henze and Seinfeld (2006). For example, to check the adjoint of the chemistry only in a single vertical level, set the following: in run: 16

17 X=1 XSTOP=3 in CMN ADJ : JACOBIAN FD_GLOB ACTIVE_VARS = FDTEST select a dependent species, NFD select a vertical level, LFD select a control parameter, EMSFD IFD and JFD don t matter as we re doing a domain wide test set the finite difference perturbation (δσ), FD_DIFF = 1.d-1 set the background values of σ to one, FD_PERT = 1.d0 and FD_BKGRND = 1.d0 Make sure that OBS_FREQ is set long enough so that the cost function is only evaluated once during the simulation. Set LADJ_TRAN =.FALSE. Set LAERO_THERM =.FALSE. in input.geos: Turn off convection ( LCONV = F ) Turn off turbulent mixing ( LTURB = F ) Turn off wet deposition ( LWETD = F ) Leave on dry deposition ( LDRYD = T ) Leave on transport ( LTRAN = T ), which will be overridden by LADJ_TRAN =.FALSE. in chemistry mod.f, only compute chemistry in certain cells by uncommenting lines such as:!if ( L == LFD ) THEN! print*, ONLY DO CHEM IN FD LEVEL!!!!. As of ADJv29, the following setting are triggered automatically setting ACTIVE_VARS = FDTEST and by defining FD_GLOB. For older versions, some of these changes will have to be implemented manually: in chemistry mod.f, reduce emissions (and corresponding adjoints) by an order of magnitude to avoid creating lots of very stiff systems: uncomment the following lines just prior to CALL INTEGRATE_ADJ. To only compute chemistry in the LFD level uncomment the lines: 17

18 !IF ( L == LFD ) THEN! print*, ONLY DO CHEM IN FD LEVEL!!!!! print*, REDUCE emissions! RCONST(231:242) = 0.1d0 * RCONST(231:242) replace ADJ_RRATE(JJLOOP,NREAC) = LAMBDA_P(ICOEFF,NJ,JJLOOP) with ADJ_RRATE(JJLOOP,NREAC) = 0.1d0 * LAMBDA_P(ICOEFF,NJ,JJLOOP) in SUBROUTINE GET_ADJ_RRATE in adjoint mod.f : In SUBROUTINE INIT_WEIGHT set WEIGHT(:,:,LFD,NFD) = 1d0 in inverse mod.f : Apply FD_DIFF globally in SET_ICS_FORFD The results of this test will be written to a *.save2.* file in adjtmp, which will contain one and two-sided finite difference gradients, adjoint gradients, and the ratio of the adjoint gradients to the finite difference gradients. See MAKE_SAVE_FILE_2 in checkpt mod.f for further details. 7.2 Spot tests of full adjoint model Alternatively, we can compare adjoint gradients to finite difference gradients for control parameters one location at a time, but with all model processes turned on. in run: X=1 XSTOP=2 in CMN ADJ : JACOBIAN Make sure that FD_GLOB is undefined. ACTIVE_VARS = FDTEST 18

19 select a dependent species, NFD select particular control parameter IFD JFD LFD and EMSFD set the finite difference perturbation (δσ), FD_DIFF = 1.d-1 set the background values of σ to one, FD_PERT = 1.d0 and FD_BKGRND = 1.d0 probably want to turn on additional diagnostic output, so set L_PRINTFD =.TRUE. Make sure that OBS_FREQ is set long enough so that the cost function is only evaluated once during the simulation. in input.geos: Turn on all desired processes. As of ADJv29, the following setting are triggered automatically setting by undefining FD_GLOB. For older versions, these changes will have to be implemented manually: in adjoint mod.f : In SUBROUTINE INIT_WEIGHT set WEIGHT(IFD,JFD,LFD,NFD) = 1d0 in inverse mod.f : Apply FD_DIFF only in the test cell SET_ICS_FORFD The adjoint and finite difference gradients and the ratio ADJ / FD will be written to standard output at the end of the run. The reported adjoint gradient is actually the average of the values at σ = 1 and σ = 1 + δσ. Since such tests involve the continuous adjoint of advection, the ratio ADJ / FD can not be expected to be unity. Benchmark tests are given in (Henze and Seinfeld, 2006). 7.3 Box model adjoint chemistry tests It can also be informative to check the performance of the chemistry adjoint calculations in a single cell, particularly when considering new reactions, or sensitivities with respect to additional reaction rates (see Sect. 6). Currently, the routine GCKPP_FD_DRIVER is set up to test sensitivities with respect to reaction rates, and it is straightforward to modify it to test sensitivities with respect to initial conditions. The following is a brief lists of things to consider with using this routine. Check the comments in the code itself for further details. 19

20 Select the desired location for testing chemistry by defining IFD,JFD, and LFD in CMN_ADJ. The routine is called from within chem adj.f. Comment out the standard call to GCKPP_DRIVER. Uncomment the call to GCKPP_FD_DRIVER. If you wish to analyze chemistry at some time other than NYMDb, NHMSb then use the code provided for calling the standard chemistry routine when the local time is within a desired range. Within the routine GCKPP_FD_DRIVER set the following: If GCKPP_DRIVER will have been called prior to calling GCKPP_FD_DRIVER, then call the initialization routine INIT_ADJ_ANTHROEMS. Otherwise, also call INIT_KPP and INIT_SMV2KPP. Control parameter to be tested, currently NNREAC. The internal step size (in 3 places!) Select either first or second order finite difference tests. Select the perturbation (δσ) size. The main results are written to standard out as a list of species names, adjoint and finite difference sensitivities. These comparisons are reported here for only the diagonal of the Jacobian. 8 Generating forward and reverse code for GEOS-Chem with the Kinetic PreProcessor (KPP) (Damian et al., 2002; Sandu et al., 2003; Daescu et al., 2003) 20

21 8.1 KPP input files 8.2 Post processing KPP generated code Interfacing KPP code with GEOS-Chem Implementing OpenMP Parallelization in KPP generated code 8.3 Performing global benchmarks of new chemical solvers References Daescu, D. N., A. Sandu, and G. R. Carmichael (2003), Direct and adjoint sensitivity analysis of chemical kinetic systems with KPP: II - numerical validation and applications, Atmos. Environ., 37 (36), Damian, V., A. Sandu, M. Damian, F. Potra, and G. R. Carmichael (2002), The kinetic preprocessor KPP - a software environment for solving chemical kinetics, Comput. Chem. Eng., 26 (11), Henze, D. K., and J. H. Seinfeld (2006), Development of the adjoint of GEOS-Chem, Atmos. Chem. Phys. Discuss., 6, 10,591 10,648. Sandu, A., D. N. Daescu, and G. R. Carmichael (2003), Direct and adjoint sensitivity analysis of chemical kinetic systems with KPP: Part I - theory and software tools, Atmos. Environ., 37 (36),

Adjoint clinic Introduction for new users

Adjoint clinic Introduction for new users Adjoint clinic Introduction for new users Daven Henze (U. Colorado) Monika Kopacz (Harvard) Kumaresh Singh (Virginia Tech.) April 9, 2009 Agenda What is an adjoint good for? and what it is not good for

More information

GEOS-Chem Adjoint User s Guide (gcadj v32)

GEOS-Chem Adjoint User s Guide (gcadj v32) GEOS-Chem Adjoint User s Guide (gcadj v32) Questions: Monika Kopacz (mkopacz@princeton.edu), Daven Henze (daven.henze@colorado.edu), Hyungmin Lee (hyuunmin.lee@colorado.edu) March 4, 2012 Contents 1 Getting

More information

CMAQ v4.5 Adjoint User s Manual

CMAQ v4.5 Adjoint User s Manual CMAQ v4.5 Adjoint User s Manual An adjoint model for CMAQ to perform 4D-Var Data Assimilation and Sensitivity Analysis Kumaresh Singh & Adrian Sandu Department of Computer Science Virginia Polytechnic

More information

GEOS Chem Adjoint V8

GEOS Chem Adjoint V8 GEOS Chem Adjoint V8 Flowchart descriptions of Inverse_driver.f Geos_chem_mod.f Chemistry_mod.f Chemdr.f Geos_chem_adj.f Jan/21, 2010 Meemong Lee Shape & Color convention File Process Function calls Macro

More information

Important new structural developments in GEOS-Chem v11

Important new structural developments in GEOS-Chem v11 Important new structural developments in GEOS-Chem v11 Bob Yantosca Senior Software Engineer GEOS-Chem Support Team Jacob Group Meeting 10 Aug 2016 with: Melissa, Matt, Lizzie, Mike Table of Contents Motivation

More information

Getting Started with GCHP v11-02c

Getting Started with GCHP v11-02c Getting Started with GCHP v11-02c Lizzie Lundgren GEOS-Chem Support Team geos-chem-support@as.harvard.edu September 2017 Overview 1) What is GCHP and why use it? 2) Common Misconceptions 3) Useful Tips

More information

Portions adapted from A Visual Guide to Version Control. Introduction to CVS

Portions adapted from A Visual Guide to Version Control. Introduction to CVS Portions adapted from A Visual Guide to Version Control Introduction to CVS Outline Introduction to Source Code Management & CVS CVS Terminology & Setup Basic commands Checkout, Add, Commit, Diff, Update,

More information

Getting Started with High Performance GEOS-Chem

Getting Started with High Performance GEOS-Chem Getting Started with High Performance GEOS-Chem Lizzie Lundgren GEOS-Chem Support Team geos-chem-support@as.harvard.edu June 2017 Overview 1) What is GCHP and why use it? 2) Common Misconceptions 3) Useful

More information

Numerical Modelling in Fortran: day 7. Paul Tackley, 2017

Numerical Modelling in Fortran: day 7. Paul Tackley, 2017 Numerical Modelling in Fortran: day 7 Paul Tackley, 2017 Today s Goals 1. Makefiles 2. Intrinsic functions 3. Optimisation: Making your code run as fast as possible 4. Combine advection-diffusion and Poisson

More information

Administrivia. Next Monday is Thanksgiving holiday. Tuesday and Wednesday the lab will be open for make-up labs. Lecture as usual on Thursday.

Administrivia. Next Monday is Thanksgiving holiday. Tuesday and Wednesday the lab will be open for make-up labs. Lecture as usual on Thursday. Administrivia Next Monday is Thanksgiving holiday. Tuesday and Wednesday the lab will be open for make-up labs. Lecture as usual on Thursday. Lab notebooks will be due the week after Thanksgiving, when

More information

About CVS. 1 Version Control - what is it? why is it useful?

About CVS. 1 Version Control - what is it? why is it useful? About CVS CVS stands for Concurrent Version Control. It s free, open-source software used by multiple developers to share code, keep track of changes, and keep different versions of a project. it can be

More information

The Art of Debugging: How to think like a programmer. Melissa Sulprizio GEOS-Chem Support Team

The Art of Debugging: How to think like a programmer. Melissa Sulprizio GEOS-Chem Support Team The Art of Debugging: How to think like a programmer Melissa Sulprizio GEOS-Chem Support Team geos-chem-support@as.harvard.edu Graduate Student Forum 23 February 2017 GEOS-Chem Support Team Bob Yantosca

More information

Exercise: Graphing and Least Squares Fitting in Quattro Pro

Exercise: Graphing and Least Squares Fitting in Quattro Pro Chapter 5 Exercise: Graphing and Least Squares Fitting in Quattro Pro 5.1 Purpose The purpose of this experiment is to become familiar with using Quattro Pro to produce graphs and analyze graphical data.

More information

ICRA 2016 Tutorial on SLAM. Graph-Based SLAM and Sparsity. Cyrill Stachniss

ICRA 2016 Tutorial on SLAM. Graph-Based SLAM and Sparsity. Cyrill Stachniss ICRA 2016 Tutorial on SLAM Graph-Based SLAM and Sparsity Cyrill Stachniss 1 Graph-Based SLAM?? 2 Graph-Based SLAM?? SLAM = simultaneous localization and mapping 3 Graph-Based SLAM?? SLAM = simultaneous

More information

Project 1. Implementation. Massachusetts Institute of Technology : Error Correcting Codes Laboratory March 4, 2004 Professor Daniel A.

Project 1. Implementation. Massachusetts Institute of Technology : Error Correcting Codes Laboratory March 4, 2004 Professor Daniel A. Massachusetts Institute of Technology Handout 18.413: Error Correcting Codes Laboratory March 4, 2004 Professor Daniel A. Spielman Project 1 In this project, you are going to implement the simplest low

More information

Draft: MLDesigner and LinCVS

Draft: MLDesigner and LinCVS Draft: MLDesigner and LinCVS 17th April 2003 Daniel Zinn zinn@mldesigner.com MLDesign Technologies, Inc. 2230 St. Francis Drive Palo Alto, CA 94303 support : www.mldesigner.com/support http : www.mldesigner.com

More information

15 Answers to Frequently-

15 Answers to Frequently- 15 Answers to Frequently- Asked Questions In this chapter, we provide answers to some commonly asked questions about ARPS. Most of the questions are collected from the users. We will continue to collect

More information

Debugging with the new GEOS-Chem Unit Tester

Debugging with the new GEOS-Chem Unit Tester Debugging with the new GEOS-Chem Unit Tester Bob Yantosca Senior Software Engineer GEOS-Chem Support Team Jacob Group Meeting 27 Nov 2013 with Melissa Payer Sulprizio Contents Overview G-C software development

More information

CVS for Moodle Developers

CVS for Moodle Developers Using the CVS CVS for Moodle Developers CVS is the Concurrent Versioning System, a commonly-used way of managing source code for large software projects. CVS keeps all versions of all files so that nothing

More information

CIS 403: Lab 6: Profiling and Tuning

CIS 403: Lab 6: Profiling and Tuning CIS 403: Lab 6: Profiling and Tuning Getting Started 1. Boot into Linux. 2. Get a copy of RAD1D from your CVS repository (cvs co RAD1D) or download a fresh copy of the tar file from the course website.

More information

D-Optimal Designs. Chapter 888. Introduction. D-Optimal Design Overview

D-Optimal Designs. Chapter 888. Introduction. D-Optimal Design Overview Chapter 888 Introduction This procedure generates D-optimal designs for multi-factor experiments with both quantitative and qualitative factors. The factors can have a mixed number of levels. For example,

More information

An introduction to plotting data

An introduction to plotting data An introduction to plotting data Eric D. Black California Institute of Technology February 25, 2014 1 Introduction Plotting data is one of the essential skills every scientist must have. We use it on a

More information

git commit --amend git rebase <base> git reflog git checkout -b Create and check out a new branch named <branch>. Drop the -b

git commit --amend git rebase <base> git reflog git checkout -b Create and check out a new branch named <branch>. Drop the -b Git Cheat Sheet Git Basics Rewriting Git History git init Create empty Git repo in specified directory. Run with no arguments to initialize the current directory as a git repository. git commit

More information

Tutorial 1. Introduction to Using FLUENT: Fluid Flow and Heat Transfer in a Mixing Elbow

Tutorial 1. Introduction to Using FLUENT: Fluid Flow and Heat Transfer in a Mixing Elbow Tutorial 1. Introduction to Using FLUENT: Fluid Flow and Heat Transfer in a Mixing Elbow Introduction This tutorial illustrates the setup and solution of the two-dimensional turbulent fluid flow and heat

More information

ECE 5750 Advanced Computer Architecture Programming Assignment #1

ECE 5750 Advanced Computer Architecture Programming Assignment #1 ECE 5750 Advanced Computer Architecture Programming Assignment #1 Objective The objective of this assignment is to gain hands-on experience in writing parallel programs for shared-memory machines. You

More information

CS 403: Lab 6: Profiling and Tuning

CS 403: Lab 6: Profiling and Tuning CS 403: Lab 6: Profiling and Tuning Getting Started 1. Boot into Linux. 2. Get a copy of RAD1D from your CVS repository (cvs co RAD1D) or download a fresh copy of the tar file from the course website.

More information

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes Git Charles J. Geyer School of Statistics University of Minnesota Stat 8054 Lecture Notes 1 Before Anything Else Tell git who you are. git config --global user.name "Charles J. Geyer" git config --global

More information

Using Excel for Graphical Analysis of Data

Using Excel for Graphical Analysis of Data EXERCISE Using Excel for Graphical Analysis of Data Introduction In several upcoming experiments, a primary goal will be to determine the mathematical relationship between two variable physical parameters.

More information

3-D Tomographic Reconstruction

3-D Tomographic Reconstruction Mitglied der Helmholtz-Gemeinschaft 3-D Tomographic Reconstruction of Atmospheric Trace Gas Concentrations for Infrared Limb-Imagers February 21, 2011, Nanocenter, USC Jörn Ungermann Tomographic trace

More information

Using Excel for Graphical Analysis of Data

Using Excel for Graphical Analysis of Data Using Excel for Graphical Analysis of Data Introduction In several upcoming labs, a primary goal will be to determine the mathematical relationship between two variable physical parameters. Graphs are

More information

Task-Oriented Solutions to Over 175 Common Problems. Covers. Eclipse 3.0. Eclipse CookbookTM. Steve Holzner

Task-Oriented Solutions to Over 175 Common Problems. Covers. Eclipse 3.0. Eclipse CookbookTM. Steve Holzner Task-Oriented Solutions to Over 175 Common Problems Covers Eclipse 3.0 Eclipse CookbookTM Steve Holzner Chapter CHAPTER 6 6 Using Eclipse in Teams 6.0 Introduction Professional developers frequently work

More information

Storing and Managing Code with CVS

Storing and Managing Code with CVS Storing and Managing Code with CVS One of the most important things you do, as a software developer, is version source code and other project files. What does it mean to version a file? According to Merriam

More information

Robot Mapping. Least Squares Approach to SLAM. Cyrill Stachniss

Robot Mapping. Least Squares Approach to SLAM. Cyrill Stachniss Robot Mapping Least Squares Approach to SLAM Cyrill Stachniss 1 Three Main SLAM Paradigms Kalman filter Particle filter Graphbased least squares approach to SLAM 2 Least Squares in General Approach for

More information

Graphbased. Kalman filter. Particle filter. Three Main SLAM Paradigms. Robot Mapping. Least Squares Approach to SLAM. Least Squares in General

Graphbased. Kalman filter. Particle filter. Three Main SLAM Paradigms. Robot Mapping. Least Squares Approach to SLAM. Least Squares in General Robot Mapping Three Main SLAM Paradigms Least Squares Approach to SLAM Kalman filter Particle filter Graphbased Cyrill Stachniss least squares approach to SLAM 1 2 Least Squares in General! Approach for

More information

Advanced Techniques for Mobile Robotics Graph-based SLAM using Least Squares. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz

Advanced Techniques for Mobile Robotics Graph-based SLAM using Least Squares. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz Advanced Techniques for Mobile Robotics Graph-based SLAM using Least Squares Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz SLAM Constraints connect the poses of the robot while it is moving

More information

A TIMING AND SCALABILITY ANALYSIS OF THE PARALLEL PERFORMANCE OF CMAQ v4.5 ON A BEOWULF LINUX CLUSTER

A TIMING AND SCALABILITY ANALYSIS OF THE PARALLEL PERFORMANCE OF CMAQ v4.5 ON A BEOWULF LINUX CLUSTER A TIMING AND SCALABILITY ANALYSIS OF THE PARALLEL PERFORMANCE OF CMAQ v4.5 ON A BEOWULF LINUX CLUSTER Shaheen R. Tonse* Lawrence Berkeley National Lab., Berkeley, CA, USA 1. INTRODUCTION The goal of this

More information

Introduction to CVS. Sivan Toledo Tel-Aviv University

Introduction to CVS. Sivan Toledo Tel-Aviv University Introduction to CVS Sivan Toledo Tel-Aviv University Goals of Source Management Ability to roll a project back if a bug was introduced Release tagging Multiple developers Locking Or concurrent updates

More information

Accelerating the Implicit Integration of Stiff Chemical Systems with Emerging Multi-core Technologies

Accelerating the Implicit Integration of Stiff Chemical Systems with Emerging Multi-core Technologies Accelerating the Implicit Integration of Stiff Chemical Systems with Emerging Multi-core Technologies John C. Linford John Michalakes Manish Vachharajani Adrian Sandu IMAGe TOY 2009 Workshop 2 Virginia

More information

The vertical stratification is modeled by 4 layers in which we work with averaged concentrations in vertical direction:

The vertical stratification is modeled by 4 layers in which we work with averaged concentrations in vertical direction: Numerical methods in smog prediction M. van Loon Center for Mathematics and Computer Science, dep. AW, P.O. Boz ^072 J(%%? GB Ams

More information

Lab #2 Physics 91SI Spring 2013

Lab #2 Physics 91SI Spring 2013 Lab #2 Physics 91SI Spring 2013 Objective: Some more experience with advanced UNIX concepts, such as redirecting and piping. You will also explore the usefulness of Mercurial version control and how to

More information

Revision control. INF5750/ Lecture 2 (Part I)

Revision control. INF5750/ Lecture 2 (Part I) Revision control INF5750/9750 - Lecture 2 (Part I) Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same

More information

Revision Control. An Introduction Using Git 1/15

Revision Control. An Introduction Using Git 1/15 Revision Control An Introduction Using Git 1/15 Overview 1. What is revision control? 2. 30,000 foot view 3. Software - git and gitk 4. Setting up your own repository on onyx 2/15 What is version control?

More information

Variables and Data Representation

Variables and Data Representation You will recall that a computer program is a set of instructions that tell a computer how to transform a given set of input into a specific output. Any program, procedural, event driven or object oriented

More information

CFD Project Workflow Guide

CFD Project Workflow Guide CFD Project Workflow Guide Contents Select a problem with known results for proof-of-concept testing... 1 Set up and run a coarse test case... 2 Select and calibrate numerical methods... 3 Minimize & quantify

More information

Using CVS 1 of 18. Using CVS. C oncurrent V ersions System - Jeremy Mates

Using CVS 1 of 18. Using CVS. C oncurrent V ersions System -   Jeremy Mates Using CVS 1 of 18 Using CVS C oncurrent V ersions System - http://www.cvshome.org/ Jeremy Mates Using CVS 2 of 18 The Road Map 1. What is CVS? 2. Anatomy of a Repository 3. Getting the

More information

Advanced Digital Signal Processing Adaptive Linear Prediction Filter (Using The RLS Algorithm)

Advanced Digital Signal Processing Adaptive Linear Prediction Filter (Using The RLS Algorithm) Advanced Digital Signal Processing Adaptive Linear Prediction Filter (Using The RLS Algorithm) Erick L. Oberstar 2001 Adaptive Linear Prediction Filter Using the RLS Algorithm A complete analysis/discussion

More information

CPIB SUMMER SCHOOL 2011: INTRODUCTION TO BIOLOGICAL MODELLING

CPIB SUMMER SCHOOL 2011: INTRODUCTION TO BIOLOGICAL MODELLING CPIB SUMMER SCHOOL 2011: INTRODUCTION TO BIOLOGICAL MODELLING 1 Getting started Practical 4: Spatial Models in MATLAB Nick Monk Matlab files for this practical (Mfiles, with suffix.m ) can be found at:

More information

ASP4100 Introduction to honours computing

ASP4100 Introduction to honours computing School of Physics and Astronomy ASP4100 ASP4100 Introduction to honours computing Version control with git + advanced Fortran 1 Version control with git It begins with I broke the code, what if I could

More information

CVS How-to. 17th July 2003

CVS How-to. 17th July 2003 CVS How-to helpdesk@stat.rice.edu 17th July 2003 This how-to gives introduction on how to set up and use cvs (Concurrent revision system) on stat network. Briefly, cvs system maintains a center repository

More information

6 Further... Programming

6 Further... Programming 6 Further... Programming In this chapter we ll get some (more) practice building programs and crafting (often) bite-sized chunks of code that solve a specific, normally computational or numerical (rather

More information

More on Neural Networks. Read Chapter 5 in the text by Bishop, except omit Sections 5.3.3, 5.3.4, 5.4, 5.5.4, 5.5.5, 5.5.6, 5.5.7, and 5.

More on Neural Networks. Read Chapter 5 in the text by Bishop, except omit Sections 5.3.3, 5.3.4, 5.4, 5.5.4, 5.5.5, 5.5.6, 5.5.7, and 5. More on Neural Networks Read Chapter 5 in the text by Bishop, except omit Sections 5.3.3, 5.3.4, 5.4, 5.5.4, 5.5.5, 5.5.6, 5.5.7, and 5.6 Recall the MLP Training Example From Last Lecture log likelihood

More information

Software Engineering Practices. PHY 688: Numerical Methods for (Astro)Physics

Software Engineering Practices. PHY 688: Numerical Methods for (Astro)Physics Software Engineering Practices Class Business Does everyone have access to a Linux or Unix machine to work from? What programming languages do each of you typically use? Software Engineering Practices

More information

1 Exercise: Heat equation in 2-D with FE

1 Exercise: Heat equation in 2-D with FE 1 Exercise: Heat equation in 2-D with FE Reading Hughes (2000, sec. 2.3-2.6 Dabrowski et al. (2008, sec. 1-3, 4.1.1, 4.1.3, 4.2.1 This FE exercise and most of the following ones are based on the MILAMIN

More information

KINETICS CALCS AND GRAPHS INSTRUCTIONS

KINETICS CALCS AND GRAPHS INSTRUCTIONS KINETICS CALCS AND GRAPHS INSTRUCTIONS 1. Open a new Excel or Google Sheets document. I will be using Google Sheets for this tutorial, but Excel is nearly the same. 2. Enter headings across the top as

More information

Gradient LASSO algoithm

Gradient LASSO algoithm Gradient LASSO algoithm Yongdai Kim Seoul National University, Korea jointly with Yuwon Kim University of Minnesota, USA and Jinseog Kim Statistical Research Center for Complex Systems, Korea Contents

More information

D R A F T DOCUMENTATION OF THE SAPRC CHEMICAL MECHANISM MODELING SYSTEM AND FILES PART 1. BASIC SYSTEM. Draft Report to the

D R A F T DOCUMENTATION OF THE SAPRC CHEMICAL MECHANISM MODELING SYSTEM AND FILES PART 1. BASIC SYSTEM. Draft Report to the D R A F T DOCUMENTATION OF THE SAPRC CHEMICAL MECHANISM MODELING SYSTEM AND FILES PART 1. BASIC SYSTEM Draft Report to the California Air Resources Board Contract No. 11-761 January 26, 2015 By William

More information

CS18000: Programming I

CS18000: Programming I CS18000: Programming I Testing Basics 19 April 2010 Prof. Chris Clifton Testing Programs Your programs are getting large and more complex How do you make sure they work? 1. Reason about the program Think

More information

Lecture 15: More Iterative Ideas

Lecture 15: More Iterative Ideas Lecture 15: More Iterative Ideas David Bindel 15 Mar 2010 Logistics HW 2 due! Some notes on HW 2. Where we are / where we re going More iterative ideas. Intro to HW 3. More HW 2 notes See solution code!

More information

A Gentle Introduction to CMSC311 labs and CVS Or How I learned to use CVS in CMSC311. William Arbaugh September 2, 2004

A Gentle Introduction to CMSC311 labs and CVS Or How I learned to use CVS in CMSC311. William Arbaugh September 2, 2004 A Gentle Introduction to CMSC311 labs and CVS Or How I learned to use CVS in CMSC311 William Arbaugh September 2, 2004 This howto assumes that you already have scp and ssh installed on your computer. If

More information

Numerical Methods in Scientific Computation

Numerical Methods in Scientific Computation Numerical Methods in Scientific Computation Programming and Software Introduction to error analysis 1 Packages vs. Programming Packages MATLAB Excel Mathematica Maple Packages do the work for you Most

More information

CPIB SUMMER SCHOOL 2011: INTRODUCTION TO BIOLOGICAL MODELLING

CPIB SUMMER SCHOOL 2011: INTRODUCTION TO BIOLOGICAL MODELLING CPIB SUMMER SCHOOL 2011: INTRODUCTION TO BIOLOGICAL MODELLING 1 COPASI COPASI / Parameter estimation Markus Owen COPASI stands for COmplex PAthway SImulator. It is for the simulation and analysis of biochemical

More information

MT3DMS Advanced Transport MT3DMS dispersion, sorption, and dual domain options

MT3DMS Advanced Transport MT3DMS dispersion, sorption, and dual domain options v. 10.1 GMS 10.1 Tutorial MT3DMS dispersion, sorption, and dual domain options Objectives Learn about the dispersion, sorption, and dual domain options in MT3DMS Prerequisite Tutorials MT2DMS Grid Approach

More information

Outline The three W s Overview of gits structure Using git Final stuff. Git. A fast distributed revision control system

Outline The three W s Overview of gits structure Using git Final stuff. Git. A fast distributed revision control system Git A fast distributed revision control system Nils Moschüring PhD Student (LMU) 1 The three W s What? Why? Workflow and nomenclature 2 Overview of gits structure Structure Branches 3 Using git Setting

More information

COMPUTER SCIENCE LARGE PRACTICAL.

COMPUTER SCIENCE LARGE PRACTICAL. COMPUTER SCIENCE LARGE PRACTICAL Page 45 of 100 SURVEY RESULTS Approx. 1/5 of class responded; statistically significant? The majority of you have substantial experience in Java, and all have at least

More information

Download CrunchTope.

Download CrunchTope. Download CrunchTope http://www.csteefel.com/downloadcrunchflow.html Installing: Windows ~7 1. Download zip file and place in user directory. 2. Unzip folder. Should be an executable inside labeled CrunchTope-64bit.exe

More information

Numerical Simulation of Dynamic Systems XXIV

Numerical Simulation of Dynamic Systems XXIV Numerical Simulation of Dynamic Systems XXIV Prof. Dr. François E. Cellier Department of Computer Science ETH Zurich May 14, 2013 Introduction Introduction A number of important simulation applications

More information

ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu

ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu 0. What is MATLAB? 1 MATLAB stands for matrix laboratory and is one of the most popular software for numerical computation. MATLAB s basic

More information

Diode Lab vs Lab 0. You looked at the residuals of the fit, and they probably looked like random noise.

Diode Lab vs Lab 0. You looked at the residuals of the fit, and they probably looked like random noise. Diode Lab vs Lab In Lab, the data was from a nearly perfect sine wave of large amplitude from a signal generator. The function you were fitting was a sine wave with an offset, an amplitude, a frequency,

More information

Step 1: Problem Type Specification. (1) Open COMSOL Multiphysics 4.1. (2) Under Select Space Dimension tab, select 2D Axisymmetric.

Step 1: Problem Type Specification. (1) Open COMSOL Multiphysics 4.1. (2) Under Select Space Dimension tab, select 2D Axisymmetric. Step 1: Problem Type Specification (1) Open COMSOL Multiphysics 4.1. (2) Under Select Space Dimension tab, select 2D Axisymmetric. (3) Click on blue arrow next to Select Space Dimension title. (4) Click

More information

Key Concepts: Economic Computation, Part II

Key Concepts: Economic Computation, Part II Key Concepts: Economic Computation, Part II Brent Hickman Fall, 2009 The purpose of the second section of these notes is to give you some further practice with numerical computation in MATLAB, and also

More information

Section 1: Tools. Contents CS162. January 19, Make More details about Make Git Commands to know... 3

Section 1: Tools. Contents CS162. January 19, Make More details about Make Git Commands to know... 3 CS162 January 19, 2017 Contents 1 Make 2 1.1 More details about Make.................................... 2 2 Git 3 2.1 Commands to know....................................... 3 3 GDB: The GNU Debugger

More information

Git. A fast distributed revision control system. Nils Moschüring PhD Student (LMU)

Git. A fast distributed revision control system. Nils Moschüring PhD Student (LMU) Git A fast distributed revision control system Nils Moschüring PhD Student (LMU) Nils Moschüring PhD Student (LMU), Git 1 1 The three W s What? Why? Workflow and nomenclature 2 Overview of gits structure

More information

Deep Learning for Visual Computing Prof. Debdoot Sheet Department of Electrical Engineering Indian Institute of Technology, Kharagpur

Deep Learning for Visual Computing Prof. Debdoot Sheet Department of Electrical Engineering Indian Institute of Technology, Kharagpur Deep Learning for Visual Computing Prof. Debdoot Sheet Department of Electrical Engineering Indian Institute of Technology, Kharagpur Lecture - 05 Classification with Perceptron Model So, welcome to today

More information

Github/Git Primer. Tyler Hague

Github/Git Primer. Tyler Hague Github/Git Primer Tyler Hague Why Use Github? Github keeps all of our code up to date in one place Github tracks changes so we can see what is being worked on Github has issue tracking for keeping up with

More information

Intro to Algorithms. Professor Kevin Gold

Intro to Algorithms. Professor Kevin Gold Intro to Algorithms Professor Kevin Gold What is an Algorithm? An algorithm is a procedure for producing outputs from inputs. A chocolate chip cookie recipe technically qualifies. An algorithm taught in

More information

2.3 Algorithms Using Map-Reduce

2.3 Algorithms Using Map-Reduce 28 CHAPTER 2. MAP-REDUCE AND THE NEW SOFTWARE STACK one becomes available. The Master must also inform each Reduce task that the location of its input from that Map task has changed. Dealing with a failure

More information

WinCvs Version 1.1. Users Guide. Don Harper

WinCvs Version 1.1. Users Guide. Don Harper WinCvs Version 1.1 Users Guide Don Harper June 1, 1999 Copyright 1999 Don Harper Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission

More information

Isothermal Batch Reactor Modeling

Isothermal Batch Reactor Modeling Instructions for use of the tutorial: Download the compressed file Example1.zip and store it on a folder of your choice on your desktop, or in a location where you have rights to read and write. Open the

More information

Inside the PostgreSQL Shared Buffer Cache

Inside the PostgreSQL Shared Buffer Cache Truviso 07/07/2008 About this presentation The master source for these slides is http://www.westnet.com/ gsmith/content/postgresql You can also find a machine-usable version of the source code to the later

More information

Gaussian Plume Air Dispersion Model - AERMOD. Release Notes. Versions 9.3, 9.4, and 9.5

Gaussian Plume Air Dispersion Model - AERMOD. Release Notes. Versions 9.3, 9.4, and 9.5 Gaussian Plume Air Dispersion Model - AERMOD Versions 9.3, 9.4, and 9.5 Tel: (519) 746-5995 Fax: (519) 746-0793 Web Site: www.weblakes.com 1996-2017 AERMOD View Version 9.5 September 18, 2017 New Features

More information

Accelerated tokamak transport simulations

Accelerated tokamak transport simulations Accelerated tokamak transport simulations via Neural-Network based regression of TGLF turbulent energy, particle and momentum fluxes by Teobaldo Luda 1 O. Meneghini 2, S. Smith 2, G. Staebler 2 J. Candy

More information

RT3D Instantaneous Aerobic Degradation

RT3D Instantaneous Aerobic Degradation GMS TUTORIALS RT3D Instantaneous Aerobic Degradation This tutorial illustrates the steps involved in performing a reactive transport simulation using the RT3D model. Several types of contaminant reactions

More information

Metaheuristic Optimization with Evolver, Genocop and OptQuest

Metaheuristic Optimization with Evolver, Genocop and OptQuest Metaheuristic Optimization with Evolver, Genocop and OptQuest MANUEL LAGUNA Graduate School of Business Administration University of Colorado, Boulder, CO 80309-0419 Manuel.Laguna@Colorado.EDU Last revision:

More information

Submitting your Work using GIT

Submitting your Work using GIT Submitting your Work using GIT You will be using the git distributed source control system in order to manage and submit your assignments. Why? allows you to take snapshots of your project at safe points

More information

2014 Stat-Ease, Inc. All Rights Reserved.

2014 Stat-Ease, Inc. All Rights Reserved. What s New in Design-Expert version 9 Factorial split plots (Two-Level, Multilevel, Optimal) Definitive Screening and Single Factor designs Journal Feature Design layout Graph Columns Design Evaluation

More information

Definition: A data structure is a way of organizing data in a computer so that it can be used efficiently.

Definition: A data structure is a way of organizing data in a computer so that it can be used efficiently. The Science of Computing I Lesson 4: Introduction to Data Structures Living with Cyber Pillar: Data Structures The need for data structures The algorithms we design to solve problems rarely do so without

More information

RT3D User-Defined Reactions

RT3D User-Defined Reactions GMS 7.0 TUTORIALS RT3D User-Defined Reactions The objective of this chapter is to describe the steps involved in developing a user defined reaction module for simulating reactions that can not be simulated

More information

CVS. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 21

CVS. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 21 CVS Computer Science and Engineering College of Engineering The Ohio State University Lecture 21 CVS: Concurrent Version System Classic tool for tracking changes to a project and allowing team access Can

More information

C152 Laboratory Exercise 1

C152 Laboratory Exercise 1 C152 Laboratory Exercise 1 Professor: Krste Asanovic TA: Christopher Celio Department of Electrical Engineering & Computer Science University of California, Berkeley January 26, 2011 1 Introduction and

More information

DMT-CCN instrument droplet growth simulations manual

DMT-CCN instrument droplet growth simulations manual DMT-CCN instrument droplet growth simulations manual T. Raatikainen (tomi.raatikainen@eas.gatech.edu) and A. Nenes (athanasios.nenes@gatech.edu) January 18, 2012 1. Introduction Obtaining the latest version

More information

CSE 374 Programming Concepts & Tools. Hal Perkins Winter 2012 Lecture 16 Version control and svn

CSE 374 Programming Concepts & Tools. Hal Perkins Winter 2012 Lecture 16 Version control and svn CSE 374 Programming Concepts & Tools Hal Perkins Winter 2012 Lecture 16 Version control and svn Where we are Learning tools and concepts relevant to multi-file, multi-person, multi-platform, multi-month

More information

Class #10 Wednesday, November 8, 2017

Class #10 Wednesday, November 8, 2017 Graphics In Excel Before we create a simulation, we need to be able to make a drawing in Excel. The techniques we use here are also used in Mathematica and LabVIEW. Drawings in Excel take place inside

More information

v. 9.1 GMS 9.1 Tutorial RT3D User-Defined Reactions Prerequisite Tutorials Time Required Components

v. 9.1 GMS 9.1 Tutorial RT3D User-Defined Reactions Prerequisite Tutorials Time Required Components v. 9.1 GMS 9.1 Tutorial RT3D User-Defined Reactions SUBROUTINE rxns(ncomp,nvrxndata,j,i,k,y,dydt, $ poros,rhob,reta,rc,nlay,nrow,ncol,vrc) c ***** Block 1: Comments block ******* c23456789012345678901234567890123456789012345678901234567890123456789012

More information

Table Of Contents. Requirements. Overview. Comparing Informatica Export XML Files using iexportnormalizer

Table Of Contents. Requirements. Overview. Comparing Informatica Export XML Files using iexportnormalizer Table Of Contents Requirements...1 Overview...1 The Problem...2 The Solution...3 iexportnormalizer utility...4 Configuring Beyond Compare...5 Conversion...7 Grammer...7 Using Beyond Compare...8 Introduction...8

More information

A CVS Repository for the RNB Group

A CVS Repository for the RNB Group A CVS Repository for the RNB Group Anthony Villano September 5, 2008 Abstract With the large number of projects and varying editors/authors on certain works, it is useful to have a central repository for

More information

The IFS / MOCAGE coupling

The IFS / MOCAGE coupling The IFS / MOCAGE coupling Implementation issues and status of the development Philippe Moinat / Vincent-Henri Peuch Choice of the coupling software METEO-FR contributed to the selection of the OASIS4 software

More information

And check out a copy of your group's source tree, where N is your one-digit group number and user is your rss username

And check out a copy of your group's source tree, where N is your one-digit group number and user is your rss username RSS webmaster Subversion is a powerful, open-source version control system favored by the RSS course staff for use by RSS teams doing shared code development. This guide is a primer to the use of Subversion

More information

Parallelizing data processing on cluster nodes with the Distributor

Parallelizing data processing on cluster nodes with the Distributor Parallelizing data processing on cluster nodes with the Distributor Andreas Bernauer February 20, 2004 1 Introduction This article describes how to use the Perl module Distributor.pm with its counterpart

More information

Numerical Modelling in Fortran: day 6. Paul Tackley, 2017

Numerical Modelling in Fortran: day 6. Paul Tackley, 2017 Numerical Modelling in Fortran: day 6 Paul Tackley, 2017 Today s Goals 1. Learn about pointers, generic procedures and operators 2. Learn about iterative solvers for boundary value problems, including

More information

Chapter 18 INTEGRATION OF SCIENCE CODES INTO MODELS-3

Chapter 18 INTEGRATION OF SCIENCE CODES INTO MODELS-3 Chapter 18 INTEGRATION OF SCIENCE CODES INTO MODELS-3 Jeffrey Young * Atmospheric Modeling Division National Exposure Research Laboratory U.S. Environmental Protection Agency Research Triangle Park, NC

More information