Closed oyvindseland closed 11 months ago
@oyvindseland Thanks for creating an issue Øyvind. I think one of the teaching assistants tested if it was sufficient to subtract 1 from the data and my impression was that it wasn't, i.e. one month of daily data was still different from the monthly mean even if 1 was subtracted from the daily data. But I did not test myself, I just provided the raw data. Did you test?
I only tested a number of single points not statistics and daily cmorized against daily raw data. I did not compare monthly against daily. However also in my test I do not get the identical number as in the raw data. The cmorized data has less decimals (realx4?)
Hi Øyvind and Ada,
I see in the cmorization program, it does use something like
new_var=var/dayfoc
given dayfoc
is greater than 1e-15
, otherwise, set as missing value.
I also see there are other variables applying the same calculation:
abs550aer
ec550aer
od440aer
od550aer
od550aerh2o
od550bc
od550csaer
od550dust
od550lt1aer
od550oa
od550so4
od550ss
od870aer
Wondering if they are also "wrong"?
Could you test again with the above formula?
No the monthly files are correct and the formula is fine.
The problem is daily files which seem to use a different formula
Hi, it says in the daily files that the od550aer is calculated as od550aer:original_name = "DOD550/DAYFOC"
while the monthly od550aer is calculated as od550aer:original_name = "DOD550"
so the methods differ. Can it be possible that dayfoc somehow is not used correctly?
After looking through fields and trying to remember the settings I found that for od550 (any od550 and od440 and od 870) use the same model settting AEROCOM=.true.
AEROCOM=.true. automatically set dayfoc ==1 everywhere including output. That means that the dayfoc variable was never needed for the OD550AER and was not used for monthly fields. The good news is that the number of simulations with daily od550aer is quite small so it should be possible to redo them. For now the division should just be removed from the expression.
I checked the output and dayfoc is indeed 1 so should not have created any problems, so that part I do not understand.
OK, now I see the problem.
The daily odd550aer is indeed divided by DAYFOC twice.
First by dividing directly, and then divided again in the special post process during cmorization.
Can it be possible to recover it by multiple DAYFOC?
Otherwise, since there are not may daily od550aer, we can retract and redo cmorization.
I think the easiest solution is to just retract and redo the cmorization. The part I do not understand though is that dayfoc == 1 in all the relevant simulations so it should not change the answer no matter how many divisions.
I made a tes with redoing the cmorization:
/projects/NS9034K/CMIP6/.cmorout/NorESM2-LM/historical/v20221130/od550aer_AERday_NorESM2-LM_historical_r1i1p1f1_gn_20100101-20101231.nc
@adagj @oyvindseland Could you check if this looks right?
There are quite some daily od550aer, including:
NorESM2-MM
piClim-aer.r1i1p1f1
piClim-control.r1i1p1f1
piClim-4xCO2.r1i1p1f1
NorESM2-LM
amip.r1i1p1f1
historical.r1i1p1f1
ssp245.r3i1p1f1
ssp585.r1i1p1f1
ssp245.r1i1p1f1
ssp370.r1i1p1f1
ssp245.r2i1p1f1
ssp126.r1i1p1f1
piClim-aer.r1i1p1f1
piClim-2xVOC.r1i1p2f1
piClim-2xss.r1i1p2f1
histSST.r1i1p2f1
histSST-piNTCF.r1i1p1f1
histSST.r1i1p1f1
piClim-2xDMS.r1i1p1f1
histSST-piNTCF.r1i1p2f1
piClim-OC.r1i1p2f1
piClim-2xVOC.r1i1p1f1
ssp370SST.r1i1p1f1
piClim-CH4.r1i1p1f1
amip.r1i1p2f1
piClim-SO2.r1i1p2f1
ssp370SST-lowAer.r1i1p1f1
piClim-SO2.r1i1p1f1
piClim-NTCF.r1i1p2f1
piClim-2xdust.r1i1p2f1
piClim-2xdust.r1i1p1f1
piClim-2xDMS.r1i1p2f1
piClim-OC.r1i1p1f1
piClim-N2O.r1i1p1f1
piClim-BC.r1i1p1f1
histSST-piAer.r1i1p2f1
piClim-2xss.r1i1p1f1
histSST-piAer.r1i1p1f1
piClim-CH4.r1i1p2f1
piClim-BC.r1i1p2f1
piControl.r1i1p1f1
piClim-spAer-histaer.r1i1p2f1
piClim-histnat.r1i1p2f1
piClim-histnat.r2i1p1f1
piClim-histaer.r3i1p2f1
piClim-anthro.r1i1p1f1
piClim-histghg.r1i1p2f1
piClim-histall.r1i1p1f1
piClim-anthro.r1i1p2f1
piClim-histghg.r2i1p1f1
piClim-histall.r2i1p1f1
piClim-histghg.r3i1p1f1
piClim-ghg.r1i1p2f1
piClim-spAer-anthro.r1i1p1f1
piClim-histghg.r1i1p1f1
piClim-histaer.r2i1p1f1
piClim-histnat.r3i1p1f1
piClim-lu.r1i1p1f1
piClim-lu.r1i1p2f1
piClim-histaer.r3i1p1f1
piClim-aer.r1i1p2f1
piClim-4xCO2.r1i1p1f1
piClim-control.r1i1p1f1
piClim-histaer.r1i1p1f1
piClim-histnat.r1i1p1f1
piClim-histghg.r2i1p2f1
piClim-histall.r3i1p1f1
piClim-spAer-aer.r1i1p1f1
piClim-4xCO2.r1i1p2f1
amip-4xCO2.r1i1p2f1
amip-p4K.r1i1p2f1
piClim-O3.r1i1p2f1
piClim-spAer-aer.r1i1p2f1
piClim-control.r1i1p2f1
piClim-spAer-anthro.r1i1p2f1
piClim-N2O.r1i1p2f1
Please retract all the daily od550aer_AERday
, @monsieuralok
AEROCOM=.true. automatically set dayfoc ==1 everywhere including output. That means that the dayfoc variable was never
Hi @oyvindseland, as I can see, for example, in the original raw output, the DAYFOC is not set as 1 but 0-1 for the LM historical run, as shown in the attached figure.
Therefore, I would think the od550aer should be divided by dayfoc
at least once, for daily output.
@YanchunHe should I retract all od550aer_AERday for ALL experments and ALL resolution for LM and MM?
I have not checked all the simulations but agree that dayfoc is always the value (not 1) The difference is that dod550aer should sometimes be divided by dayfoc (standard settings) and sometimes not ("aerocom" settings). The treatment should be identical for both daily and monthly files
If the easiest solution is to retract the daily variable for all experiments that is probably fine. The raw data are still around so the variable can be cmorized later on. Dirk: Do you know of anyone who use the daily AOD values ? @DirkOlivie
@YanchunHe should I retract all od550aer_AERday for ALL experments and ALL resolution for LM and MM?
Yes, then please retract all data.
@YanchunHe retracted https://errata.es-doc.org/static/view.html?uid=d5e19894-2804-fab1-82bf-3091b8172c8d
Describe the error The od550 values daily are different than the raw output data and not consistent with monthly mean. It is possible that there is an error in the cmorization scripts.
Should be od550aer=DOD550/(DAYFOC+eps) (Eps=a small value)
Looks like od550aer=DOD550+DAYFOC. All experiments that have DOD500 as daily output have DAYFOC=1
Way to correct
Check if the error in the cmorization scripts is as suggested above. Correct scripts as given above. Since this involves a large number of experiments it is likely not possible to republish all so: Publish an errata that can also include how the users can correct for the error: od550aer=od550aer-1 if DAYFOC=1