-
Notifications
You must be signed in to change notification settings - Fork 23
What Does The Converged Output Look Like?
Photochem Output The 'Photochem' part of the model outputs a file called 'out.out' that has essentially everything one needs to debug or analyze the results. It includes the reaction list, mixingratio profiles (i.e, volume mixingratios as a function of altitudes) of all the species, the number of run steps, the total time (in seconds) the model ran, photolysis rates with altitude and production and loss rates among other things.
Here is an example: photochem output for the modern Earth template. First, to see if the model 'converged' (meaning the model ran for whatever the total time set, usually ~1E+17 seconds), look in the 'out.out' for the following set of rows. These indicate the number of steps and the total TIME of the run in seconds (the last column):
N = 1 EMAX = 4.66E-06 FOR HCO AT Z = 8.28E+06 U = 7.37E-19 RHS =-3.44E-24 DT = 5.00E-06 TIME = 1.00E-06
N = 2 EMAX = 2.33E-05 FOR HCO AT Z = 8.28E+06 U = 7.37E-19 RHS =-1.72E-23 DT = 2.50E-05 TIME = 6.00E-06
N = 3 EMAX = 1.16E-04 FOR HCO AT Z = 8.28E+06 U = 7.37E-19 RHS =-8.53E-23 DT = 1.25E-04 TIME = 3.10E-05
.
.
.
N = 49 EMAX = 3.25E-11 FOR H2O2 AT Z = 1.92E+06 U = 9.06E-13 RHS =-2.95E-23 DT = 1.96E+16 TIME = 4.90E+15
N = 50 EMAX = 4.69E-11 FOR H2O2 AT Z = 1.92E+06 U = 9.06E-13 RHS = 4.25E-23 DT = 9.80E+16 TIME = 2.45E+16
N = 51 EMAX = 1.28E-11 FOR HSO AT Z = 1.48E+06 U = 2.27E-19 RHS = 2.90E-30 DT = 4.90E+17 TIME = 1.23E+17
All this means is that the model probably did not encounter numerical issues, and ran for 'convergence'. Essentially, running the model for ~1E+17 seconds (~10 billion years) basically means that the model has reached a steady state of production and loss rates of various species, and in general this is how the planet behaves based on a given composition of species.
We usually want the quantity 'EMAX' (relative error in the mixingratios) to be as small as possible. In the above example, it is quite good (~1E-11). Other thing to look for are the production (TP) and loss rates (TL) which should be nearly equal or identical:
TP, TL
2.48E+15 2.71E+15 1.20E+11 4.44E+12 5.58E+12 4.66E+12
2.48E+15 2.71E+15 1.03E+11 4.44E+12 5.58E+12 4.66E+12
If these look good, then plot the mixing ratios that are written after the last step (i.e, after TIME = ~1E+17) as a function of altitude and see if these profiles make sense. The code also writes an output file called 'profile.pt' only including all the mixingratios, altitude (in cm), Temperature (Kelvin), Pressure (bar). You can just use this 'profile.pt' to plot the mixingratios.
Climate Code Output
The climate code part of the model outputs a file called "Clima_allout.tab", or a variation of this filename but which always has "clima_allout" in its name. This is the file that includes everything to debug or analyze the results (just like 'photochem' model's 'out.out' file). At the beginning of the file, you will see various input values that you chose in 'input_clima.dat'. For example, here is an example: clima output for the modern Earth template. Essentially this run should reproduce present Earth surface temperature of ~288K.
Solar Constant= 1.000 F_CH4= 1.6827E-06 F_CO2= 3.3000E-04 F_O2= 2.0786E-01 F_N2= 7.7207E-01 F_H2= 9.8983E-61 F_AR= 9.8983E-03 IO3 = 1 IUP= 0 ICONSERV= 0 FAC= 4.0 ND=101 SRFALB= 0.320 G= 980.0 IMW= 2 INVERSE= 0
Make sure all these values are consistent with your input data. Below this data, the code prints out altitude, Pressure, temperature, water-vapor mixingratios, cooling and heating rates, and a separate set of rows and columns for fluxes (net outgoing OLR and net incoming solar flux, for example). This is all done for the very first step so that you can keep track of the respective values at the beginning and after the code is converged.
After the initial (first step, NST = 1) flux data set printout, the code writes the number of steps and various other quantities that determine if there is a convergence. Running the Climate code for several steps (sometimes 100s or 1000s) is called "Forward run". This is where we run the code for convergence, determining the surface temperature self-consistently from the fluxes. There is another way to run the code, which is called "inverse" calculations which we will not go through in detail here. This inverse calculation skips the temperature calculation within the code, and the user specifies the surface temperature rather than let the code calculate self-consistently, and obtains the corresponding fluxes. The code is not run for any 'convergence' here, and this method is very quick. All the habitable zone calculations that have been published with this model have used this inverse calculation method. There are advantages and disadvantages, and how much error we are ok to tolerate with inverse calculations. That discussion is for another time. The output file linked above, and the discussion here, is from the "Forward run" of the model. So you will see model printouts for progressive steps (NST increasing). The model also prints out RMS divergence in fluxes (DIVFrms), change in surface temperature (DT), and surface temperature (T(ND)), as NST increases. We consider the code is "converged" when the divergence in fluxes is minimal, i.e when DIVFrms ~ 1E-3 or lower. Sometimes it takes thousands of steps to attain this result.
Once a convergence is reached, the code outputs again all the temperature, water-vapor heating and cooling rate profiles, fluxes information at the end of the last time step. It also prints planetary albedo and CO2 mixingratio. One then has to look at these profiles of temperature and fluxes and make sense of their results.