UM_Bristol

back to CMIP7 ancillaries

Ozone forcings for HadCM3

Contact Linlin Chen for more information and files (linlin.chen@bristol.ac.uk, linlin.chen128@outlook.com).

Figures could be found from: CMIP7_Ozone.pptx

Processed data and scripts could be found from: Siliruan:/home/bridge/mf22281/CMIP7/CMIP7-Ozone

File list ready for HadCM3BL model running:

Where to access data

Data description: https://input4mips-cvs.readthedocs.io/en/latest/dataset-overviews/ozone/

Download data from:

The download links would direct you to CMIP7 ozone data version1.2 and version 2.0. But if not, you can search by source_id = FZJ-CMIP-ozone-1-2 and source_id = FZJ-CMIP-ozone-2-0.

Data list:

How to process data

Step1: regrid to HadCM3BL lon/lat grid

check metadata: ncdump -h input.nc

check lat, lon, plev values: ncks -H -C -v lat,lon,plev input.nc
cdo sinfo input.nc
cdo showlevel input.nc

Step 1.1 define lat, lon

nano grid_73x96.txt

gridtype  = lonlat
xsize     = 96
ysize     = 73
xfirst    = 0
xinc      = 3.75
yfirst    = 90
yinc      = -2.5
Step1.2: regrid
cdo -selname,vmro3 -remapbil,grid_73x96.txt input.nc output_73x96.nc

vmro3 is intensive variable, so choose bilinear method to convert lat and lon.

Step2: interpolate to hybrid levels

Step2.1: prepare surface pressure data

In theory, surface pressure data should be the actual values on a month-by-month basis throughout the period 1850-2013. However, for simplicity, we will use the climatological averages. This is also better as it makes the future scenarios straightforward too.

Step2.2: convert to hybrid levels

Also set vertical hybrid levels, which could be found in any ozone ancil file, e.g., tdezc1.qrclim.ozone.nc, hybrid_p_x1000(hybrid_p_x1000=19). For HadCM3B,

hybrid_eta_x1000 = (/ \
    996.996, 974.867, 930.25, 869.8323, 792.2285, 699.5743, 599.5032, \
    504.5218, 422.103, 354.6977, 299.7516, 249.7017, 199.6268, \
    149.5012, 99.24676, 56.85421, 29.59433, 14.79717, 4.605881 /)

Reverse hybrid_eta_x1000 to top->bottom order (hybrid_eta_x1000=(::-1))

Step3: calculate zonal average

or use CDO:

cdo -zonmean \
  -selname,vmro3 \
 input.nc output_zonmean.nc

Step4: merge piControl and 4 historical transient files into one

The original file size is too large. So prefer convert before merge them into one single file.

cdo -O mergetime \
  input_182901-184912_72x96x19hybrid_zonmean.nc \
  input_185001-189912_72x96x19hybrid_zonmean.nc \
  input_190001-194912_72x96x19hybrid_zonmean.nc \
  input_195001-199912_72x96x19hybrid_zonmean.nc \
  input_200001-202212_72x96x19hybrid_zonmean.nc \
  output_182901-202212_72x96x19hybrid_zonmean.nc

mergetime concatenates along time and will sort by time if needed. script: Siliruan:/home/bridge/mf22281/CMIP7/CMIP7-Ozone/mergetime.sh; Siliruan:/home/bridge/mf22281/CMIP7/CMIP7-Ozone/run_pres2hybrid_zonmean_vmro3_ncl.sh

How to implement the forcing into HadCM3