coecms / access-esm

Main Repository for ACCESS-ESM configurations
0 stars 2 forks source link

Historical experiment does not reproduce CMIP6 r20 #15

Open MartinDix opened 8 months ago

MartinDix commented 8 months ago

The experiment is set to start from year 541 of PI-01 which is the same as Tilo's HI-24. This is published as /g/data/fs38/publications/CMIP6/CMIP/CSIRO/ACCESS-ESM1-5/historical/r20i1p1f1. RMS differences of daily mean surface air temperature (tas) grow over first few weeks, suggesting the initial state is correct but that there's some small difference in the configuration.

MartinDix commented 8 months ago

tas

MartinDix commented 8 months ago

Original scripts for HI-24 (and all ESM1.5 CMIP6 historical runs) have a section that is used in the first year

  #change the day of initial time of ancillary files to 1 from 16.
  #to avoid error "REPLANCA: Current time precedes start time of data"
if [ $CMIP5RUN == "historical" ]; then
  cd $atmrundir
  set_aerosols_by_year
  cp $CMIP5ANCIL_AEROSOL/$OZONE_AFILE .
  cp $CMIP5ANCIL_AEROSOL/$SULP_AFILE .
  cp $CMIP5ANCIL_AEROSOL/$SOOT_AFILE .
  cp $CMIP5ANCIL_AEROSOL/$BIO_AFILE .
  cp $CMIP5ANCIL_AEROSOL/$OCFF_AFILE .

  module load python2
  ~access/data/ACCESS_CMIP5/utils/set_ancil_initday1.py $OZONE_AFILE
  ~access/data/ACCESS_CMIP5/utils/set_ancil_initday1.py $SULP_AFILE
  ~access/data/ACCESS_CMIP5/utils/set_ancil_initday1.py $SOOT_AFILE
  ~access/data/ACCESS_CMIP5/utils/set_ancil_initday1.py $BIO_AFILE
  ~access/data/ACCESS_CMIP5/utils/set_ancil_initday1.py $OCFF_AFILE
  # and then use the ancillary files only for the first run
  CMIP5ANCIL_AEROSOL=$atmrundir
fi

The payu configuration doesn't include this.

This is a hold-over from older jobs that used the CMIP5 ancillaries that had initial date 1850-01-16. This caused problems with the time interpolation for the first month of the historical run, so the date was reset to 1850-01-01. The CMIP6 ancillaries start from 1849-01-16 so this is no longer necessary. With the CMIP6 ancillaries it causes a small change in the ancillary fields in the first year which causes the difference between the runs.

When this adjustment is removed from the original script setup, it gives results that match the payu run.

If it was important to reproduce existing experiments it would be possible to modify the payu setup to also do this adjustment, but it's probably not necessary.

aidanheerdegen commented 8 months ago

Nice detective work @MartinDix

"O, what a tangled web1 we weave when first we practise to deceive2!"

1 shell script 2 fix calendar inconsistencies

MartinDix commented 8 months ago

practise to deceive make pragmatic decisions to get something running

Both can cause problems in the long run