Jupiter, Jupiter, Saturn
I am concentrating on the Saturn paper, excitation code for the Gas Giants and the newly finished and therefore analysable Jovian EUV run. This leaves Jovian and Kronian electrons as the only ongoing runs at the moment.
Analysis - just the same as the spectrum/10 run, but multiplied by ten. No surprises. Well, maybe one at the outer end of things. H and H2 were both ionised to one or two parts in ten to the four at the outer extremities until the peaks began. Not unsurprising. Helium, however, had between a quarter and a third of its outer number densities ripped asunder before a substantial amount of the stuff arrived in order to cope with the radiation, at which point the ionisation fraction went down to ten to the four, but soon after the peaks began, so not quite a flat profile. Interesting. For me. Been here too long.
Ok, have done quite a bit of research into H3+ today, going over old ground again. Thought about new bits on the Dynamic Thermosphere and its effect on precipitation. All good things to have in a paper, but then something else hit me and I allowed my mind to run with it to its conclusion - the small increments code. A simple do loop. Not even a conditional do loop, but a proper one initialised with a rather nifty bit of code...
Now need to adapt a model to do a test run. I fear this sort of code will require a massive runtime, but that is that. We shall see. The worry was initially how to keep the do loop from executing multiple times during an altitude step when that wasn't required. I put such thoughts aside and just thought about the code and ended up with something that is self correcting - so reduces to one loop when the mean free path falls down by that amount. This should introduce the prison effect that stops high energy particles backscattering so much. It should also kill off DICE completely as that model turns into a microcosm of JIM... Like JIM, every DICE will have its day... I wonder if google rents out its new facility...
Think I'll write a program to guess the number of interactions per altitude step for various atmospheres... This could be fun... or frightening. No, think I'll just do the coding. Ie, time to mess up my nice working Earth system. Out of interest, Henrik did an analysis of the step size of the Grodent model at each altitude. Grodent's smallest step size, right at the bottom of the atmosphere, is my largest. Frightening.
For once, there will be no altering proton/proton1 when doing this massive change. But anything with a pdf with see a substantial change. Subroutines:
randgen - no changes
atom - no changes
cross - no changes
electron - massive changes
strike - massive changes
proton - no changes
proton1 - no changes
hit - massive changes
back - massive changes
selectron - massive changes
recoil - massive changes
Initial test will put in the infrastructure but not the lvl calculation - ie keep the do loop as a single iteration so as to ensure replication of previous results before the proper thing goes in allowing comparison with previuous results. So no lvl to be transfered from one bit to the next, no lvlflag to be introduced etc, just the do loop, the tweak redirecting to the end of that do loop in the first instance and lvl itself making a first appearance, set permamently to unity.
Which means:
electron - declared variables, introduced do loop, redirected the tweak - done!
strike - declared variables, introduced do loop, redirected tweak - done!
hit - declared variables, introduced do loop, redirected tweak - done!
back - declared variables, introduced do loop, redirected tweak - done!
selectron - declared variables, introduced do loop, redirected tweak - done!
recoil - declared variables, introduced do loop, redirected tweak - done!
it all compiled ok, but does that mean it works? Testing to be done later today after an escape to the Lewis Workroom 2. After testing, I might even go a step further and introduce the full stage two code... Then I can redo all the tiros runs and be satisfied that not only do I have a faulty code, I now have a complex faulty code to transfer to all the gas giants once excitation goes over... Then I'll have to think about what improvement to do next - relativity? Backscattering? three dimensional code? Ok backscattering is in there and 3d code is a more complex version of that plus the characteristics of GCMs, field lines etc, whatever I feel like sticking in at the time...
there's always the Saturn paper to do!
Ok, run the two, running times not too badly affected (ie negligible difference on 1000 electron run) and results pretty much the same. Some differences, but given the noisy nature of a 1000 electron run, well within the usual margins of difference.
So, do I continue on? May as well make a bit of a start even if I don't finish it all.
Need to introduce lvl calculation, have lvl and lvlflag as arguments to subroutines, and for the four universal routines, have the altitude correction, the lvlmin/lvl correction via lvlat and all mediated by lvlflag.
Should be fun!
Subroutines to alter:
electron - calculation added, altitude correction added, new subroutine inputs added - done!
strike - calculation added, altitude correction added, new subroutine inputs added, universality added - done!
t'others will wait until tomorrow, but first must adjust loops as currently they may loop twice when once is the aim...
...done!
Analysis - just the same as the spectrum/10 run, but multiplied by ten. No surprises. Well, maybe one at the outer end of things. H and H2 were both ionised to one or two parts in ten to the four at the outer extremities until the peaks began. Not unsurprising. Helium, however, had between a quarter and a third of its outer number densities ripped asunder before a substantial amount of the stuff arrived in order to cope with the radiation, at which point the ionisation fraction went down to ten to the four, but soon after the peaks began, so not quite a flat profile. Interesting. For me. Been here too long.
Ok, have done quite a bit of research into H3+ today, going over old ground again. Thought about new bits on the Dynamic Thermosphere and its effect on precipitation. All good things to have in a paper, but then something else hit me and I allowed my mind to run with it to its conclusion - the small increments code. A simple do loop. Not even a conditional do loop, but a proper one initialised with a rather nifty bit of code...
Now need to adapt a model to do a test run. I fear this sort of code will require a massive runtime, but that is that. We shall see. The worry was initially how to keep the do loop from executing multiple times during an altitude step when that wasn't required. I put such thoughts aside and just thought about the code and ended up with something that is self correcting - so reduces to one loop when the mean free path falls down by that amount. This should introduce the prison effect that stops high energy particles backscattering so much. It should also kill off DICE completely as that model turns into a microcosm of JIM... Like JIM, every DICE will have its day... I wonder if google rents out its new facility...
Think I'll write a program to guess the number of interactions per altitude step for various atmospheres... This could be fun... or frightening. No, think I'll just do the coding. Ie, time to mess up my nice working Earth system. Out of interest, Henrik did an analysis of the step size of the Grodent model at each altitude. Grodent's smallest step size, right at the bottom of the atmosphere, is my largest. Frightening.
For once, there will be no altering proton/proton1 when doing this massive change. But anything with a pdf with see a substantial change. Subroutines:
randgen - no changes
atom - no changes
cross - no changes
electron - massive changes
strike - massive changes
proton - no changes
proton1 - no changes
hit - massive changes
back - massive changes
selectron - massive changes
recoil - massive changes
Initial test will put in the infrastructure but not the lvl calculation - ie keep the do loop as a single iteration so as to ensure replication of previous results before the proper thing goes in allowing comparison with previuous results. So no lvl to be transfered from one bit to the next, no lvlflag to be introduced etc, just the do loop, the tweak redirecting to the end of that do loop in the first instance and lvl itself making a first appearance, set permamently to unity.
Which means:
electron - declared variables, introduced do loop, redirected the tweak - done!
strike - declared variables, introduced do loop, redirected tweak - done!
hit - declared variables, introduced do loop, redirected tweak - done!
back - declared variables, introduced do loop, redirected tweak - done!
selectron - declared variables, introduced do loop, redirected tweak - done!
recoil - declared variables, introduced do loop, redirected tweak - done!
it all compiled ok, but does that mean it works? Testing to be done later today after an escape to the Lewis Workroom 2. After testing, I might even go a step further and introduce the full stage two code... Then I can redo all the tiros runs and be satisfied that not only do I have a faulty code, I now have a complex faulty code to transfer to all the gas giants once excitation goes over... Then I'll have to think about what improvement to do next - relativity? Backscattering? three dimensional code? Ok backscattering is in there and 3d code is a more complex version of that plus the characteristics of GCMs, field lines etc, whatever I feel like sticking in at the time...
there's always the Saturn paper to do!
Ok, run the two, running times not too badly affected (ie negligible difference on 1000 electron run) and results pretty much the same. Some differences, but given the noisy nature of a 1000 electron run, well within the usual margins of difference.
So, do I continue on? May as well make a bit of a start even if I don't finish it all.
Need to introduce lvl calculation, have lvl and lvlflag as arguments to subroutines, and for the four universal routines, have the altitude correction, the lvlmin/lvl correction via lvlat and all mediated by lvlflag.
Should be fun!
Subroutines to alter:
electron - calculation added, altitude correction added, new subroutine inputs added - done!
strike - calculation added, altitude correction added, new subroutine inputs added, universality added - done!
t'others will wait until tomorrow, but first must adjust loops as currently they may loop twice when once is the aim...
...done!

0 Comments:
Post a Comment
<< Home