How to get rectangular lat-lon output from CAM running SE

(Notes by Philip Cameron-Smith based on information from Mark Taylor and Kate Evans (Unlicensed), 2014-10-31 and Steve Goldhaber (Unlicensed)  )

(NOTE: this capability has been expanded, and the namelist variables changed, so that old namelists will not work any longer  )

 

The SE dycore runs on cubed-sphere grids (eg, NE30, NE120).   The most accurate output is obviously on those native grids.   However, plotting and analysis programs often only work with rectangular lat-lon output.   And, ACME-CAM may not put all of the necessary information into the output files necessary for general plotting and analysis tools.

ACME has a solution that involves a regridding tool that regrids the ACME-CAM output files before reading them into UVCDAT: /wiki/spaces/WORKFLOW/pages/3245930

Another alternative is to tell ACME-CAM to regrid the output onto a rectangular lat-lon grid before writing it out to the output file.   This uses bilinear interpolation, which isn't ideal for every purpose, but is good enough for many purposes.  To be safe with this type of interpolation, always interpolate to a grid with finer resolution than the native grid.  25% finer is a good rule of thumb.   

This is setup in the user_nl_cam namelist, using the following namelist variables:


interpolate_output    = .false.,.false.,.false.,.false.,.true.,.true.

interpolate_nlon      =       0,      0,      0,      0,     0,   128         ! Zero means select a resolution close to the native resolution.

interpolate_nlat      =       0,      0,      0,      0,     0,    64         ! Zero means select a resolution close to the native resolution.

interpolate_type      =       0,      0,      0,      0,     0,     1  

interpolate_gridtype  =       0,      0,      0,      0,     1,     2 

 

To regrid a 1 deg atm run, the recommendation from Mark Taylor is to output onto a  0.7 deg grid (ie, 360 degrees / 512 points), slightly finer then the native 1.0 degree:

interp_nlat           = 257      ! For a true equal angle grid, dimensions should be (N+1) x 2N

interp_nlon           = 512

interpolate_type      = 1                 ! 0 = native high order,  1 = bilinear (default)

interpolate_gridtype  = 1                 ! Equal angle lat/lon grid, with point at pole (FV scalar grid)  

 

The options for the output grid type are:

interpolate_gridtype = 1       ! Equally spaced, including poles (FV scalars output grid).  Use grids of size (N+1) x 2N

interpolate_gridtype = 2       ! Gauss grid (CAM Eulerian).  Use grids of size N x 2N

interpolate_gridtype = 3     ! Equally spaced, no poles (FV staggered velocity)  Not Recommended

 

There is also an option for the type of regridding:

interpolate_type = 0           !  0 = native high order

interpolate_type = 1           !  1 = bilinear (default)

 

(Note: This regridding capabalitiy is included in /wiki/spaces/SIM/pages/7995515)