When running CAM (i.e., not WACCM) with prescribed CO2, there is no difference between surface average and whole atmosphere average, as co2 used in radiative computations has a single value, co2vmr, over the whole atmosphere. The distinction only arises when co2 varies in space.
The answer to what people usually mean, surface or whole atmosphere, when they mention co2 depend on who you're talking to. People that deal with the troposphere tend to think of co2 as well-mixed, and it is, except for elevated values over land in the boundary layer. People that deal with the upper atmosphere are more used to thinking about lateral and vertical variations in co2, as co2 does vary considerably in the upper atmosphere.
There are no surface values over land for "co2" in CMIP6 output because it has been interpolated to pressure levels, and the levels with the highest pressure do not exist over land, particularly over taller mountains. This feature, missing values on pressure levels, does complicate analysis of CMIP6 output. I haven't done analysis of "co2" in other model's CMIP6 output, but I expect this feature to be present in their output as well. Looking at the CMIP6 variables at
Data Request Section: CMORvar, I now see that "co2s" is the surface concentration of CO2. That's useful for models that provide it. It looks like we overlooked that in CESM.
One potential approach to obtaining surface "co2" in CMIP6 output for models that don't have "co2s" is the use the non-missing value with highest pressure. This will not be the same as the surface value, as that pressure level might be above the surface, but this might be the best you can do.
If you're on CISL machines, you can access CAM's output of CO2 on model layers for ensemble member 1 of esm-hist in the files
b.e21.BHIST_BPRP.f09_g17.CMIP6-esm-hist.001.cam.h0.CO2.185001-189912.nc
b.e21.BHIST_BPRP.f09_g17.CMIP6-esm-hist.001.cam.h0.CO2.190001-194912.nc
b.e21.BHIST_BPRP.f09_g17.CMIP6-esm-hist.001.cam.h0.CO2.195001-199912.nc
b.e21.BHIST_BPRP.f09_g17.CMIP6-esm-hist.001.cam.h0.CO2.200001-201412.nc
in the directory /glade/campaign/collections/cmip/CMIP6/timeseries-cmip6/b.e21.BHIST_BPRP.f09_g17.CMIP6-esm-hist.001/atm/proc/tseries/month_1
This directory is accessible from casper, but not cheyenne.
The output for ensemble member 2 is similarly located, replace 001 with 002 in the above.