The history files (those that contain model output) can be defined in the user_nl_cam file under the finclX namelist variable, where X may be 1, 2, 3 etc. up to 9. Each 'finclX' will tell the model to write a new file that includes the specified variables. Recommended procedure is to keep fincl1 as the default, because this tells the model to write out month average values of all species that are needed for the automated diagnostics. Therefore, best practice is to write your own history files beginning with fincl2 onwards. 

Example:


Adding the following species to user_nl_cam will write out files with a h1 suffix.

&cam_history_nl
fincl2              = 'PS','OH','H2O','H2O2','HO2','O3','NO3','NO','NO2','CO','ISOP','PHIS','CH2O','T','PAN','PM25','PDELDRY','AODDUST','AODVISdn','Z3'

The temporal resolution of the output files is also specified via the user_nl_cam:

avgflag_pertape     = 'A','A'
mfilt               = 1,4
nhtfrq              = 0,-6
/




A list of all possible history file variables can be found here: https://www.cesm.ucar.edu/models/cesm1.0/cam/docs/ug5_0/hist_flds_fv_cam5.html



Where columns correspond to finclX in order. The namelist variables define:

avgflag_pertape = either averages (A) or instantaneous (I) output.

mfilt = number of time entries in a history file.

nhtfrq = time resolution in a file with <0 specifying hours. For example -6 specifies output every 6 hours.  The default is to have fincl1 (h0) output to have monthly means, but that is not a requirement, and any output file can have monthly means (the namelist variable definition saying only the first file can have monthly means is incorrect).

Therefore, the above example outputs month average at one month per file and 6-hour averages at 1 file per day.

Output files can also be defined to save output only within user-defined region. This is done by using the fincl*lonlat namelist variable, with a corresponding fincl* list in the user_nl_cam file, as shown below. 


fincl3       = 'O3', 'O3S', 'NO', 'NO2', 'CO', 'E90', 'T', 'U', 'V', 'Z3', 'PSL', 'PS', 'TS', 'O3_Prod','O3_Loss'
fincl3lonlat = '70e:110e_20n:40n'

Where this defines the model output for the species shown to be written out for just the region bounded by a box with the corners at 70E, 20N and 110E, 40N. All other flags such as avgflag_pertape, nhtfreq, and mfilt apply to this file as defined above. 

Note, if your simulation ends within a month, the partial monthly average is stored in the $CASENAME.cam.rh0.* file, so you can continue the simulation from that date and get the monthly average when the simulation completes that month.

Saving output for a given local time for comparison to satellite observations

In the example below, the first file contains monthly means of results averaged over 10:15 to 10:45 local time (to coincide with Terra) and the second file contains daily composites of averages over 13:15 to 13:45 (to coincide with Aqua). Note that there is no indication in the output files that these are Local Time averages, so you must keep track of that yourself.

avgflag_pertape     = 'L','L'
mfilt               = 12, 30
nhtfrq              = 0, -24
lcltod_start        = 36800, 47600
lcltod_stop         = 38800, 49600