robert_allen@yale_edu
New Member
Hi,
I'm adding a globally, seasonally uniform, artificial heating to the lowest 4-5 levels of the atmosphere. To do this, I simply increase qrs (the solar heating rate) in radsw.F90. Even when I use a small amount, for example 0.01 W/m^2, which equates to about 0.002 K/day (depending on the thickness of the layer), I get an error message that looks like the following:
significant conservations error energy after radheat count 1 nstep 0chunk 65 col 8 lat 4 lon 65 day 244.0 97284.87638 95836.51860 72473.80067 -0.41242E-08
This message is printed out from check_energy.F90. The last number is the relative error of the energy column, equal to the expected energy of the column minus the calculated energy of the column, all relative to the energy of the column from the prior state. Because it's absolute value exceeds 1.E-14 (the threshold used in the code), I get the error message.
I've convinced myself this is OK. But I just want to see if others agree with this. I think I'm exceeding the relative threshold because I am adding heat, which increases the temperature, which increases the dry static energy of the column, which in turn increases the vertical integral of the total energy. But the heat I add is not accounted for in the above expected energy of the column, so I get an error. The fact the relative error (expected minus actual energy of column) is negative is consistent with this. Plus, I've continued to run the model for several years and fields of T, P, U etc. look OK.
Also, I do not get the error message when I add a very, very small heating (e.g. 10^-10).
However, I only get the error message in the first place at very specific locations: basically, latitudes south of about 65S (so the southern Southern Ocean and Antarctica). Why would this be? My guess is that the model is already close to not satisfying energy conservation here. But why, I do not know. It's really windy there, which would increase in kinetic energy component of the total vertical energy. But I'm exceeding a relative energy, which should account for spatial variations. And I do not know where the 1.E-14 cutoff originates from. Maybe the model is already close to this threshold near Antarctica?
Another interesting note is that I get the error message at latitudes between -85 and -65 during DJF (SH summer) for various longitudes. But during JJA (SH winter), I rarely get the error message--when I do, it's confined to less extreme SH latitudes (i.e. -65). In fact, there is a transition where I get the error at most all lats between -85 and -65 during DJF, but as MAM approach, the error tends to occur at less extreme southern latitudes (e.g. -65 to -75). During May, the error is confined to -65. During June, I never get the error. This seems counterintuitive since there is very little/no solar heating during JJA. And I would think that me adding heat artificially would trigger the error. But it's the opposite. Because it's much more windy during JJA in the extreme SH, the total energy of the column may be quite a bit larger than that during DJF (even though it's much colder). This would allow for a larger difference between the expected and actual total energy in JJA, relative to DJF. And hence, the reason why get the error message in JJA less frequently.
Thanks and sorry for the length of this,
rja29
I'm adding a globally, seasonally uniform, artificial heating to the lowest 4-5 levels of the atmosphere. To do this, I simply increase qrs (the solar heating rate) in radsw.F90. Even when I use a small amount, for example 0.01 W/m^2, which equates to about 0.002 K/day (depending on the thickness of the layer), I get an error message that looks like the following:
significant conservations error energy after radheat count 1 nstep 0chunk 65 col 8 lat 4 lon 65 day 244.0 97284.87638 95836.51860 72473.80067 -0.41242E-08
This message is printed out from check_energy.F90. The last number is the relative error of the energy column, equal to the expected energy of the column minus the calculated energy of the column, all relative to the energy of the column from the prior state. Because it's absolute value exceeds 1.E-14 (the threshold used in the code), I get the error message.
I've convinced myself this is OK. But I just want to see if others agree with this. I think I'm exceeding the relative threshold because I am adding heat, which increases the temperature, which increases the dry static energy of the column, which in turn increases the vertical integral of the total energy. But the heat I add is not accounted for in the above expected energy of the column, so I get an error. The fact the relative error (expected minus actual energy of column) is negative is consistent with this. Plus, I've continued to run the model for several years and fields of T, P, U etc. look OK.
Also, I do not get the error message when I add a very, very small heating (e.g. 10^-10).
However, I only get the error message in the first place at very specific locations: basically, latitudes south of about 65S (so the southern Southern Ocean and Antarctica). Why would this be? My guess is that the model is already close to not satisfying energy conservation here. But why, I do not know. It's really windy there, which would increase in kinetic energy component of the total vertical energy. But I'm exceeding a relative energy, which should account for spatial variations. And I do not know where the 1.E-14 cutoff originates from. Maybe the model is already close to this threshold near Antarctica?
Another interesting note is that I get the error message at latitudes between -85 and -65 during DJF (SH summer) for various longitudes. But during JJA (SH winter), I rarely get the error message--when I do, it's confined to less extreme SH latitudes (i.e. -65). In fact, there is a transition where I get the error at most all lats between -85 and -65 during DJF, but as MAM approach, the error tends to occur at less extreme southern latitudes (e.g. -65 to -75). During May, the error is confined to -65. During June, I never get the error. This seems counterintuitive since there is very little/no solar heating during JJA. And I would think that me adding heat artificially would trigger the error. But it's the opposite. Because it's much more windy during JJA in the extreme SH, the total energy of the column may be quite a bit larger than that during DJF (even though it's much colder). This would allow for a larger difference between the expected and actual total energy in JJA, relative to DJF. And hence, the reason why get the error message in JJA less frequently.
Thanks and sorry for the length of this,
rja29