150 likes | 318 Views
Tools for Displaced-Pole Ocean Grid Generation for CCSM2. Steve Yeager Rick Smith Esther Brady John Davis. What needs to be modified?. OCN horiz_grid : ieee r8, {ulat,ulng,htn,hte,hus,huw,utan} topography : ieee i4, {kmt} region_mask : ieee i4 {regionmask}
E N D
Tools for Displaced-PoleOcean Grid Generation for CCSM2 Steve Yeager Rick Smith Esther Brady John Davis
What needs to be modified? • OCN horiz_grid : ieee r8, {ulat,ulng,htn,hte,hus,huw,utan} topography : ieee i4, {kmt} region_mask : ieee i4 {regionmask} other input_template files… • CPL map_ATM_to_OCN_aave.nc map_ATM_to_OCN_bilin.nc map_OCN_to_ATM_aave.nc map_RUNOFF_to_OCN.nc
1. a. Generating a Grid • ns_dipole* generates a dipole mesh grid with user-specified north/south pole locations. • Equator is always a grid line • Enhanced meridional resolution at the equator • Code tries to make aspect ratio 1 • Nx is independent variable (sets the order of the resolution); Ny requires iteration Created using display_hgrid* (R Smith et al)
1. b. Generating a kmt • paleotopo* assigns topography/kmt to a grid based on a paleo bathymetry dataset in netcdf format. • topography* assigns topography/kmt to a grid based on the 1/12 degree etopo5 dataset. Created using display_hgrid_land*
Iterate grid/kmt generation until • … for a given Nx and equatorial gaussian function, Ny is sufficient to extend the grid into the polar continents without wasting resolution, • … grid has acceptable min/max cell sides & aspect ratios for active ocean points (when compared to standard grids)
1. c. Hand Edit Kmt • eCubed* enables interactive grid-viewing/kmt-editing using a mouse & keyboard • Reads/writes a grid netcdf file created with grid_bin2nc* • Convert kmt back into POP input binary with gridkmt_nc2bin* Created using display_hgrid_land* Created using eCubed*
2. a. Maps between ATM & OCN • mk_remap.csh creates atmosphereocean mappings using SCRIP (Spherical Coordinate Remapping and Interpolation Package) developed by Phil Jones.
2. b. Mapping Runoff to OCN • mk_runoff_remap.csh calls SCRIP; generates a conservative runoffocean mapping netcdf. • BUT, it does not guarantee global water conservation • ALSO, it may require additional smoothing to prevent excessively low ocean salinities in high runoff regions. • Use map_runoff/*.F90 for • runoff map conservation correction • map matrix testing • ocean smoothing map generation & testing • map matrix multiplication.
Why are conservation corrections needed? Potential flux loss …where an active source grid cell does not overlap any (a) or only partially overlaps (b) a destination cell. …where an active source grid cell maps into an inactive destination cell (c) runoff_conserve_mod.F90 applies corrections
Runoff Smoothing • runoff_smooth_mod.F90 contains routines for generating an ocean-to-ocean smoothing map • Input parameters maxradius (km) & efold (km) • test_smooth generates netcdf output of smoothing effects for select source points efold = 100km, maxradius = 500km
Runoff-to-Ocean Map with Smoothing • runoff_map_mod.F90 contains routines for matrix multiplication & testing: runoff grid ocean grid runoff grid = ocean grid ocean grid ocean grid Final Map Smoothing Map Corrected SCRIP Map
efold = 100km, maxradius = 500km efold = 2000km, maxradius = 500km