Skip to content

Commit

Permalink
Merge pull request #278 from adagj/noresm2
Browse files Browse the repository at this point in the history
Added to FAQ
  • Loading branch information
adagj authored May 27, 2021
2 parents 2c9a1bc + a4039d6 commit 8f512f1
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions doc/faq/postp_plotting_faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,61 @@
Post-processing and plotting FAQ
================

Very large ocean cell thickness in NorESM2
-----
The ocean layer thickness **dz** variable may not be very meaningful for NorESM. The ocean model component BLOM is an isopycnic-coordinated model and hence the model layer thickness is changing from each integration step. Therefore, it is possible that the layer thickness will exceed 3km to 4km under certain circumstances. For example, this occurs sometimes in polar waters under deep convection where the ocean column is not stratified. And also at some coastal regions (where the water may not be well-represented by 'isopycnic' movement). So in short, **dz** reflects how the model represents the water masses (faithfully or not).

Weights and area information for the ocean component BLOM
--------
The area and mask information for BLOM output can be found in the grid file usually stored together with the input data used by BLOM. Please see http://ns9560k.web.sigma2.no/inputdata/ocn/blom/grid/ for the grid files used.

Weights for ocean calculations:

::

gridpath = 'path_to_gridfile' # path to grid files
grid = xr.open_mfdataset(gridpath + 'grid_tnx1v4_20170622.nc')
parea = grid.parea
pmask = grid.pmask
pweight = parea*pmask
::


The vertical coordinate in BLOM
---------------------------
**Q:**
The vertical coordinate of NorESM2 is provided as the isopycnal coordinate (kg/m^3). I want to change this isopycnal coordinate to z coordinate (m).

**A:**
Vertically pre-interpolated output to z-level (including temperature, salinity and the overturning mass stream-functions) should be available for all NorESM2 experiments. For raw model output these variables often end with *lvl* . E.g.

- Temperature: templvl(time, depth, y, x)
- Salinity: salnlvl(time, depth, y, x)
- Velocity x-component: uvellvl(time, depth, y, x)
- Velocity y-component: vvellvl(time, depth, y, x)
- Overturning stream-function: mmflxd(time, region, depth, lat)

For CMORIZED data the pre-interpolated output to z-level uses a different grid identifier than *gn* (grid native). Please note that *gr* usually means regridded horizontally but in case of NorESM2 it is regridded vertically. E.g.

- Temperature: thetao(time, depth, y, x) on *gr* grid
- Salinity: so(time, depth, y, x) on *gr* grid
- Velocity x-component: uo(time, depth, y, x) on *gr* grid
- Velocity y-component: vo(time, depth, y, x) on *gr* grid
- Overturning stream-function: msftmz(time, region, depth, lat) on *grz* grid

Different sea-ice and ocean grid
------------------------

**Q:** The sea ice output variables in NorESM2 are on a 360x384 grid, while the ocean output variables are on a 360x385 grid. Which variable shall I use if I want to e.g. calculate the area sum of the sea ice (e.g., sea ice volume in the Northern Hemisphere)?

**A:**
The ocean/sea-ice grid of NorESM2 is a tripolar grid with 360 and 384 unique grid cells in i- and j-direction, respectively. Due to the way variables are staggered in the ocean model, an additional j-row is required explaining the 385 grid cells in the j-direction for the ocean grid. The row with j=385 is a duplicate of the row with j=384, but with reverse i-index.

The ocean and sea-ice components of NorESM define the grid cell area differently. In the ocean component, the grid cell area is found by computing the area of a spherical polygon with grid cell corners as vertices. The sea-ice component computes the area as dx*dy where dx and dy are grid cell sizes in i- and j-direction, respectively. In order to achieve good conservation in flux exchanges, we ensure that the ocean and sea-ice components have identical grid cell areas. To obtain this with the different approaches of computing grid cell area, we nudge the sea-ice grid locations slightly.

In conclusion, it is consistent to use the area variable defined on the ocean grid in relation to sea-ice variables, but you have to ignore the final j-row of e.g. area. So to conclude, just drop the last row with j=385 of area when dealing with the sea ice variables.


How do I compute a weighted average?
---------------------
Expand Down

0 comments on commit 8f512f1

Please sign in to comment.