Wednesday, May 9, 2007

Got D/H=0.01 runs finished and sharing the results:

As could be seen big changes in the code (see previous post) yielded totally different picture:

which seems to be right now.
As the next step we are heading for the gas chemistry hacking within our code.

Tuesday, May 8, 2007

The major bug fixes and version 3.0 is available for download.

Version 3.0 available for download.

The major bug fixes:
- fixed D mass in the velocities calculations. The bug caused improper reaction probabilities calculations and screwed the resulting chemistry.
- removed HD and D2 from the main population processing into separate bins. They were influencing chemistry by holding active sites on the grain surface.
- fixed D/H ratio output and log file format along with parser to IDL.

Wednesday, April 18, 2007

ICLOUDS version 2.0 available for download.

The software has evolved to the version 2.0. This version incorporates bury and cascade routines and has improved logging. Get it from downloads page http://code.google.com/p/iclouds/downloads/list.

Monday, April 16, 2007

Okay, some progress in the code quality.



Among other things I've cleaned up Checkstyle warnings and get overall number of issues about 82. Most of these are low priority and false-positive issues found by FindBugs and PMD.

Just finished all of my plots:





Friday, April 13, 2007

Finishing figures for the thesis

Being busy couple of days running experiments...

Tuesday, April 10, 2007

Beware of Windows-style line endings.

Beware of Windows-style line endings!!!

Beware of Windows-style line endings!!!

I set up and run about 10 experiments over last night to investigate the cascade behavior. Everything went wrong! Each of the runs! Why? Because each parameters line in the shell script was ending with windows ^M symbol and Apache CLI library somehow didn't get that this is the line end. I've got all runs with cascade on and d/h ratio 0.5. Nice...

Monday, April 9, 2007

Adding some unique information in the log seems to be crucial.

Just realized the urge of unique meaningful id in the each of the log files. It looks messy without it now, I'm kind of lost among couple of dozens of run logs.

Decide to add run time stamp along with name of config used:

## current setup: running at Friday, April 13, 2007, 10:11:40 AM HST,
config used: config_O3_2000.xml

Sunday, April 8, 2007

Fixed parameters setUp in the code.

Finally get to organize parameter passing through the code. All parameters are standardized now by fixed constants set and there will be no mess anymore. Also fixed all broken tests.
Cost? 6 hours:

Friday, April 6, 2007

Evolution differences between grain population with and w/o bury, 10E5





I've found that three main species, H2O, CO and CO2 evolve differently in the cases when bury is switched on and off.

ESPECIALLY CO, somehow, without bury, CO stays almost constant, while with bury, it looks like it freezes in ice and gains abundance.

New plot, separated D and H species.

Thursday, April 5, 2007

Cascade does exactly the thing it suppose to do


The plot shows the evolution of ozone on the grain surface along with ozone evolution within the ice, buried population.


Cascade does exactly the thing it suppose to do, i.e.:
DO3 + O2 -> OD + ...
OD + CO -> D + ...
D + O3 -> OD + ...
OD + H2 -> H + ...
H + O3 -> HO + ...
OH + CO -> H ...
proof done by the log (should i post it here???):
accretion event: 9999999 got OD as the product of DO3_O2, grain popSize: 6699852
accretion event: 9999999 got D as the product of OD_CO, grain popSize: 6699852
accretion event: 9999999 got OD as the product of DO3_O2, grain popSize: 6699852
accretion event: 9999999 got H as the product of OD_H2, grain popSize: 6699853
accretion event: 9999999 got OH as the product of HO3_O2, grain popSize: 6699853
accretion event: 9999999 got H as the product of OH_CO, grain popSize: 6699853

BUT:
I little concern about timing, it is interesting, how much does it takes for this little cascade to happen at first, and second is: I THINK that there suppose to be some accretion events to happen during this time, that would obviously alter this cascade thing...

The voodoo-voodoo magic!


Again, after a lot of effort to clean up the code and reveal the bug, I didn't succeed. Plots are pretty the same. :-(((( Maybe it is a feature?

Some improvement done

Some improvement done. I think there was some bug in the code. So, first of all, cleaned up PopulationWithBury class to make all the names more "comprehendable" and clean. Went over chemistry cycle to see potential bottlenecks, fixed some stuff in logging, and scheduled some runs again to check. They are running now. Will get plots tonight.

Wednesday, April 4, 2007

Got inconsistency in overall pattern between populations with bury and without it.


You can note different slopes (CO2) and actually values for the species abundances.
The PDF version of the plot.

Tuesday, April 3, 2007

To Do stuff


  1. Investigate cascade behavior through extensive logging.


    • introduce logging for reactions producing active products DONE

    • run experimentsDONE

    • hack the logger parser


  2. Plot together the simulation with bury routine turned on and turned off.

  3. Make separate plots for hydrogen and deuterium.

  4. Add something to command line to enable switching bury and cascade on/off.

  5. Do parallel runs with cascade switched on and off.

  6. Try to make plots (cascade/ no cascade) as ones in the new article.

Saturday, March 31, 2007

Finally done with logs and plots.


I think I finished with logs and plots for now. It seems like evolution plot looks little weird because logarithmic scale, but it is easy to transform into linear scale. The point to keep logarithmic scale for now is to emphasize that populations are not linear if we zoom in. The logarithmic plot is above, and linear below, Axis X is number of accretions events x5000, Axis Y is the population size.

Got 0 issues with Checkstyle !!!

Basically fixed all Checkstyle issues for the whole iClouds project (don't taking in the view Mersenne Twister part from Paul Houle, he seems to be used different style template). I'm really happy about this result. :-)


The HackyStat plot: got from ~70 issues to 0.
The sweet Checkstyle report:

Friday, March 30, 2007

Extended command-line functionality.

Since the software passed through series of accounting bugs and seems to be stable now, I've decided to focus more on code quality and overall software usability. The first step I've decided to do was aiming "smart" command line arguments handling. Googled a bit and stuck at first with Processing command line arguments in Java: Case closed but despite it was looking great, some of internals didn't work out. After googling a little bit more stuck with CLI package of the Jakarta/Apache commons project. This one worked out of the box. DONE.

H:\home\senin\projects\iclouds>java -jar build\jar\iclouds.jar
usage: java -jar iclouds.jar
-acclimit specifies the accretion events limit
-config specifies config file to use
-density specifies the cloud density
-dhratio specifies the D/H ratio
-help print this message
-itrlimit specifies the iterations limit
-logfile use given file for log
-loggerfile use given file for log
-loglevel specifies the logger level [severe | fine | finer | finest]