You are not allowed to perform this action

Regridding

Here we give some examples how to interpolate MPIOM output from the original curvilinear grid to a regular lat/lon grid.

Example NC2/NC4/CMORized data

Scalar data to 1deg grid
Should be used for scalar properties, e.g. temperature (thetao) that live on the grid box center. This is done in two steps.

sethalo → remove the redundant “halo” points (LR/MR) in the first and last column
selindexbox → remove the redundant “halo” points (LR/MR) in the first and last column and (only MR) in the first two rows
remapbil → interpolate bilinear to a 1deg grid (r360x180)

GR15 → r360x180
infile=/work/ik0555/cmip5/archive/CMIP5/output/MPI-M/MPI-ESM-LR/piControl/mon/ocean/thetao/r1i1p1/thetao_Omon_MPI-ESM-LR_piControl_r1i1p1_200001-200912.nc
outfile=\$WRKSHR/thetao_Omon_MPI-ESM-LR_piControl_r1i1p1_200001-200912.1deg.cdf
cdo remapbil,r360x180 -sethalo,–1,–1 \$infile \$outfile

TP04 → r360x180
infile=/work/ik0555/cmip5/archive/CMIP5/output/MPI-M/MPI-ESM-MR/piControl/mon/ocean/thetao/r1i1p1/thetao_Omon_MPI-ESM-MR_piControl_r1i1p1_200001-200012.nc
outfile=\$WRKSHR/thetao_Omon_MPI-ESM-MR_piControl_r1i1p1_200001-200012.1deg.cdf
cdo remapbil,r360x180 -selindexbox,2,801,3,404 \$infile \$outfile

Vector data to 1deg grid

Should be used for vector properties, e.g. velocity components (uo and vo) that live on the grid box edges. This is done in three steps.

mrotuvb → average u and v velocity components to the central scalar grid point and rotate them back to N/S/E/W direction
selindexbox → remove the redundant “halo” points (LR/MR) in the first and last column and (only MR) in the first two rows
remapbil → interpolate bilinear to a 1deg grid (r360x180)

GR15 → r360x180
infile1=/work/ik0555/cmip5/archive/CMIP5/output/MPI-M/MPI-ESM-LR/piControl/mon/ocean/uo/r1i1p1/uo_Omon_MPI-ESM-LR_piControl_r1i1p1_200001-200912.nc
infile2=/work/ik0555/cmip5/archive/CMIP5/output/MPI-M/MPI-ESM-LR/piControl/mon/ocean/vo/r1i1p1/vo_Omon_MPI-ESM-LR_piControl_r1i1p1_200001-200912.nc
outfile=\$WRKSHR/uo_Omon_MPI-ESM-LR_piControl_r1i1p1_200001-200912.1deg.cdf
cdo remapbil,r360x180 -sethalo,–1,–1 -mrotuvb \$infile1 \$infile2 \$outfile

TP04 → r360x180
infile1=/work/ik0555/cmip5/archive/CMIP5/output/MPI-M/MPI-ESM-MR/piControl/mon/ocean/uo/r1i1p1/uo_Omon_MPI-ESM-MR_piControl_r1i1p1_200001-200012.nc
infile2=/work/ik0555/cmip5/archive/CMIP5/output/MPI-M/MPI-ESM-MR/piControl/mon/ocean/vo/r1i1p1/vo_Omon_MPI-ESM-MR_piControl_r1i1p1_200001-200012.nc
outfile=\$WRKSHR/uo_Omon_MPI-ESM-MR_piControl_r1i1p1_200001-200012.1deg.cdf
cdo remapbil,r360x180 -selindexbox,2,801,3,404 -mrotuvb \$infile1 \$infile2 \$outfile

Example EXT/GRB/SZ data including “halo” points

(Note that EXTRA/GRB/SZ does not contain correct grid description, so this information is added as additional step. For simplicity we use the same input files as above.)

Scalar data to 1deg grid
Should be used for scalar properties, e.g. temperature (thetao) that live on the grid box center. This is done in three (four) steps.
sethalo,–1,-1 → remove “halo” points in the first and last column
selindexbox → remove “halo” points in the first two rows (only MR)
setgrid → add grid information
remapbil → interpolate bilinear to a 1deg grid (r360x180)

GR15 → r360x180
infile=/work/ik0555/cmip5/archive/CMIP5/output/MPI-M/MPI-ESM-LR/piControl/mon/ocean/thetao/r1i1p1/thetao_Omon_MPI-ESM-LR_piControl_r1i1p1_200001-200912.nc
outfile=\$WRKSHR/thetao_Omon_MPI-ESM-LR_piControl_r1i1p1_200001-200912.1deg.cdf

cdo remapbil,r360x180 -setgrid,/pool/data/MPIOM/GR15/GR15s.nc -sethalo,–1,–1 \$infile \$outfile

TP04 → r360x180
infile=/work/ik0555/cmip5/archive/CMIP5/output/MPI-M/MPI-ESM-LR/piControl/mon/ocean/thetao/r1i1p1/thetao_Omon_MPI-ESM-LR_piControl_r1i1p1_200001-200912.nc
outfile=\$WRKSHR/thetao_Omon_MPI-ESM-LR_piControl_r1i1p1_200001-200912.1deg.cdf

cdo remapbil,r360x180 -selindexbox,1,800,3,404 -setgrid,/pool/data/MPIOM/TP04/TP04s.nc -sethalo,–1,–1 \$infile \$outfile

Vector data to 1deg grid

Should be used for vector properties, e.g. velocity components (uo and vo) that live on the grid box edges. This is done in three (four) steps.
sethalo,–1,-1 → remove the “halo” points in the first and last column
selindexbox → remove “halo” points in the first two rows (only MR)
mrotuvb → average u and v velocity components to the central scalar grid point and rotate them back to N/S/E/W direction
remapbil → interpolate bilinear to a 1deg grid (r360x180)

GR15 → r360x180
infile1=/work/ik0555/cmip5/archive/CMIP5/output/MPI-M/MPI-ESM-LR/piControl/mon/ocean/uo/r1i1p1/uo_Omon_MPI-ESM-LR_piControl_r1i1p1_200001-200912.nc
infile2=/work/ik0555/cmip5/archive/CMIP5/output/MPI-M/MPI-ESM-LR/piControl/mon/ocean/vo/r1i1p1/vo_Omon_MPI-ESM-LR_piControl_r1i1p1_200001-200912.nc
outfile=\$WRKSHR/uo_Omon_MPI-ESM-LR_piControl_r1i1p1_200001-200912.1deg.cdf
cdo remapbil,r360x180 -mrotuvb -setgrid,/pool/data/MPIOM/GR15/GR15u.nc -sethalo,–1,–1 \$infile1 -setgrid,/pool/data/MPIOM/GR15/GR15v.nc -sethalo,–1,–1 \$infile2 \$outfile

TP04 → r360x180
infile1=/work/ik0555/cmip5/archive/CMIP5/output/MPI-M/MPI-ESM-MR/piControl/mon/ocean/uo/r1i1p1/uo_Omon_MPI-ESM-MR_piControl_r1i1p1_200001-200012.nc
infile2=/work/ik0555/cmip5/archive/CMIP5/output/MPI-M/MPI-ESM-MR/piControl/mon/ocean/vo/r1i1p1/vo_Omon_MPI-ESM-MR_piControl_r1i1p1_200001-200012.nc
outfile=\$WRKSHR/uo_Omon_MPI-ESM-MR_piControl_r1i1p1_200001-200012.1deg.cdf
cdo remapbil,r360x180 -selindexbox,1,800,3,404 -mrotuvb -setgrid,/pool/data/MPIOM/TP04/TP04u.nc -sethalo,–1,–1 \$infile1 -setgrid,/pool/data/MPIOM/TP04/TP04v.nc -sethalo,–1,–1 \$infile2 \$outfile