====== Regridding ====== ==== How to interpolate MPIOM data onto regular grids? ==== 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