Judge Quicksilver ----------------- Overall the implementation seems correct. Most of the recommended modifications or questions are with respect to: (1) insufficient commenting of functions, (2) extraneous for-loops, (3) minor modifications. Also there is a slot of repetitive code across these files. Instead of copying and pasting and then modifying, one or two functions could be written to simulate drug levels and dosing schedules (one for 24hr and one for 16hr). This function could then be imported and called from the various scripts needed to complete this project. XSEDE_report.pdf It is somewhat unclear what the goal of the report is especially for the bonus questions. The report should be able to stand on it's own so you should be able to state our task was X so that we could answer a question about Y. Thus we modeled Y as follows and determined A, B, C. see written comments. Also in the case study you have used the same medicinal level and toxic levels for the two other drugs you examined. Usually toxic and medicinal levels vary from drug to drug, however you did not take this into account. Why did you not use the corrected model that accounts for 16 hours of awake time for the case study? drug_dosage.py Well implemented. Well commented. Good choice in variable names. All TODO lines should be removed once implemented (line 73). The two for loops on line 53 and 63 could be combined into a single loop. Using varying line styles would improve the plots. drug_dosage_sensitivity.py Well implemented. Well commented. Good choice in variable names. All TODO lines should be removed once implemented. Line 63 is necessary. The commenting of the if-statements is slightly confusing since it goes with the if-statement but "# Otherwise, run the model" is not paired with "else". In fact, it would be much clearer if the comment on line 64 was simply removed. sensitivity_test.py Well implemented. Well commented. It is generally not recommended to use import *. This code is somewhat less readable because many of the lines exceed the PEP8 character limit. Variable names are one or two letters which makes the code harder to read. Instead of "er" or "t" use "excretion_rates" or "times". Instead of "sens_conc" maybe use "plasma_concentration". drug_dosage_correction.py Commented mislabels this file as drug_dosage_start.py All TODO lines should be removed once implemented (line 68). Line 71 is unnecessary as the two for loops can be combined into a single for loop. Bonus1.py Comment mislabels file as "drug_dosage_start.py". No description of what file does at the top of the file. The for loop on lines 70 and 78 can be combined into a single for-loop. The TODO notes should be removed once implemented. One line 40 why do you have (toxic_level - 1) when you are using a "<"? Is "1" a tolerance w.r.t. the toxic level? This is a simple, but correct solution. Another possibly less expensive solution method would be to implement a search to find the min/max. Bonus2.py Poorly commented, functions lack summarizing descriptions. No labeling on 2nd plot what the dotted blue line is. Comment mislabels the file as "drug_dosage_start.py". No comment description of input variables. No comment header description of the file or simulation function. Function count_mg lacks a comment describing what it does. Safety condition variables lack comments. Function mg_vol lacks a comment describing what it does. Bonus3.py No option to enter weight in lbs or stone. Same comments as Bonus2.py. Bonus4_celebrex.py Bonus4_apriso.py Similar comments about TODO line, double for-loop. The axes on these plots are not labeled. There is a lot of needlessly duplicated code between these two files. Still using 24hr dosage schedule instead of more sensible 16 hour dosage schedule.