COSIMA / access-om3

ACCESS-OM3 global ocean-sea ice-wave coupled model
13 stars 6 forks source link

New grids #172

Open aekiss opened 3 months ago

aekiss commented 3 months ago

Before redoing the topography (https://github.com/COSIMA/access-om3/issues/68), we should take the opportunity to check whether the grid can be improved.

e.g. consider

  1. whether the tripolar points would be better located elsewhere, e.g. at lower latitude and/or further from the Gulf of Ob
  2. whether a different location for the longitudinal seam would be more convenient for our purposes (is it inconvenient to have the seam in the Indian Ocean?)
  3. whether the C-grid zonal velocity points should be on the equator as done in CESM3 providing symmetry for upwelling and waves (@gustavo-marques tells me they did this in CESM3 hoping for equatorial wave improvements but it didn't make much difference)
  4. extending closer to the south pole to include ice shelf cavities as was done in the 1/20° panAntarctic config https://github.com/COSIMA/mom6-panan/issues/12#issuecomment-1196165040
  5. refining grid in the Antarctic / coarsening in the Arctic https://github.com/COSIMA/access-om3/issues/67
  6. quantizing double-precision values so they are exactly representable in single precision (as we do in the vertical grid)

Does anything else spring to mind?

access-hive-bot commented 3 months ago

This issue has been mentioned on ACCESS Hive Community Forum. There might be relevant details there:

https://forum.access-hive.org.au/t/cosima-working-group-announce/238/73

adfraser commented 3 months ago

Hi Andrew, 2) Longitude seam: Other than at the peninsula, around 140 E has the narrowest meridional sea-ice extent - is that what you were thinking? But is it a concern to have the seam in "our turf" - East Antarctica? Would it be crazy to have the seam at the peninsula? Isn't the seam longitude somewhat set by the NH tripole locations? (take all with a grain of salt - I don't know much about models!) 4) definitely has my support!

adele-morrison commented 3 months ago

Good points to think about! Might be nice to bring this discussion up at a COSIMA weekly meeting?

PaulSpence commented 3 months ago

IInteresting questions. It is a rare opportunity to change the grid. Hard to know where and how much to invest in grid changes. Probably less modifications is best, considering the effort required to determine results. Item 4 above seems like a no-brainer modification though.

adfraser commented 2 months ago

Raising a new point here: @pwongpan and I realised that large tabular grounded iceberg D15 is not in the 0.25* grid (and presumably the .1 and 1.0 grids either). Here are snapshots from 1997 (top) and 2024 (bottom) showing D15 (labelled as "grounded iceberg") against the 0.25 degree grid.

Even without cavities being implemented, I'd argue that D15 would be better treated as land pixels than open ocean pixels for the following reasons:

Can we consider prescribing this as land pixels for the OM3 grid? Obviously when cavities are implemented, it would make more sense to describe this as a cavity, but until then I think land is better than water. Just a discussion point - there may be ocean things I haven't thought of :)

Iceberg_ACCESS_RAMP Iceberg_ACCESS_Sentinel_Mar_2024

adele-morrison commented 2 months ago

Out of interest, are there any grounded icebergs included in the current bathymetry? I think we just use bathymetry from GEBCO that doesn't have any icebergs in it?

adfraser commented 2 months ago

I suspect none. @dpath2o might know more

ofa001 commented 2 months ago

Hi @adfraser @adele-morrison @dpath2o I would think it odd from a coupled model perspective to have the icebergs as land points in any new grid. For Dan's project it might be useful but he can put them in for that, but these grids will need to be used more widely. Upto now we havent been using icebergs in the grid, and we just had to redo the Antarctic because minor ice shelves weren't handled well in earlier bathymetry version. We need to improve things for the next iterations in access-om3/cm3

adfraser commented 2 months ago

Thanks @ofa001 - yeah I realise they will need to be used widely but I think including D15 could be a special case for the "base" grid. Just a thought.

anton-seaice commented 2 months ago
  1. whether the tripolar points would be better located elsewhere, e.g. at lower latitude and/or further from the Gulf of Ob

The difference in area for some of these cells (as described in 126) seem fairly drastic, so this looks worth investigating further.

From Bi et al 2013:

Screenshot 2024-06-19 at 2 18 08 PM

In panel a), it looks like we would move the poles south-west to maximise the distance from the ocean. I suspect they will need to be 180° in longtitude apart for us not to break something.

  1. whether a different location for the longitudinal seam would be more convenient for our purposes (is it inconvenient to have the seam in the Indian Ocean?)

In theory, moving this to the longitude to with the smallest length of ocean would reduce the amount of communication between MPI tasks but the effect would very marginal.

It would be nice to have Australia in the middle of our plots :)

  1. whether the C-grid zonal velocity points should be on the equator as done in CESM3 providing symmetry for upwelling and waves (@gustavo-marques tells me they did this in CESM3 hoping for equatorial wave improvements but it didn't make much difference)

Its nice to have the equator on the edge of grid cells, just because its easier to understand I think (and maybe easier to analyse?)

  1. extending closer to the south pole to include ice shelf cavities as was done in the 1/20° panAntarctic config 1/20° topography mom6-panan#12 (comment)

Sounds like we have consensus on doing this, but leaving the ice shelves landmasked for now.

  1. refining grid in the Antarctic / coarsening in the Arctic Refine grid in Antarctic? #67

Coarsening in the Arctic could help with 1. ? But will refining the grid in the Antarctic force us into a shorter time-step also? The cells at the south (panel b above) are already somewhat out of square, which does increase CORRECTION: we don't want the cells at the Southern end to get too far out of square, becuase it increases the amount of communication needed between MPI tasks (to communicate quantities between processing blocks). We might be able to refine the shape of the processing blocks to avoid the extra communication though :)

Does anything else spring to mind?

I guess we will keep these refinements for 1 degree (Bi et al 2013):

In the meridional direction the grid spacing is nominally 1° resolution, with the
following three refinements: a) tripolar Arctic north of 65°N;
b) equatorial refinement to 1/3° between 10°S and 10°N; and
c) a Mercator (cosine-dependent) implementation for the
southern hemisphere, ranging from 0.25° at 78°S to 1° at 30°S.

We should make sure the new grid files are cf-complaint. CMS have a compliance checker which would help: http://climate-cms.wikis.unsw.edu.au/CF_checker

ofa001 commented 2 months ago

Hi @anton-seaice In realtion to the Antarctic, the choice of grid there in the BI et al "auscom" grid used in access-om as well was to be "square" so that n/s resolution was close to the e-w resolution as the we went further south, it might look a bit skewed on the plot. I would support additional resolution as its our region of interest, but we still need to keep some resolution in the Arctic (for both ice and ocean processes). But its less of a priority.

anton-seaice commented 2 months ago

Thanks :) Ill correct my post .

anton-seaice commented 2 months ago

2. whether a different location for the longitudinal seam would be more convenient for our purposes (is it inconvenient to have the seam in the Indian Ocean?)

On further thought on this point, by definition the location of the longitudinal seam is the longitude of one of the tripoles. From the Murray 1995 paper:

The curves are constructed on a NH stereographic projection about foci, F1 and F2 , lying on either side of the N Pole (N), which is the origin of the projection (Fig. 9). The foci are situated at latitude phiF (...) and 90° east and west of the symmetry meridian, which is at longitude l0. The focal arc and the symmetry meridian define the x and y axes, respectively.

The key point being the symmetry meridian (90° offset in longitude from the tripoles), which is continuous across the orthogonal and stereographic sections of the grid:

Screenshot 2024-06-20 at 10 01 16 AM

The definition precludes us from defining the location of the longitudinal seam differently than the tripole, although there may not be a mathematical reason why the longitudinal seam and the tripoles need to be aligned in longitude.

anton-seaice commented 2 months ago

@adfraser Also just pointed out that moving the tripoles south will force the resolution in the Arctic to be lower, which is probably desirable for us.

anton-seaice commented 2 months ago

Apologies for the talking to myself: @pwongpan asks if we should consider IBSCO bathymetry in the Southern Ocean. It looks like the GEBCO_2023 has assimilated latest fairly up-to-date IBSCO already. From https://www.gebco.net/data_and_products/gridded_bathymetry_data/gebco_2023/:

_The SRTM15+ base grid has been augmented with the gridded bathymetric data sets developed by the four Seabed 2030 Regional Centers to produce the GEBCO2023 Grid. The Regional Centers have compiled gridded bathymetric data sets, largely based on multibeam data, for their areas of responsibility. These regional grids were then provided to the Global Center. ... For the polar regions, complete grids were provided due to the complexities of incorporating data held in polar coordinates.

_The compilation of the GEBCO2023 Grid from these regional data grids was carried out at the Global Centre, with the aim of producing a seamless global terrain model.

adfraser commented 2 months ago

As long as the new GEBCO has IBCSO2, not IBCSO1? IBCSO2 was a major update

anton-seaice commented 2 months ago

As long as the new GEBCO has IBCSO2, not IBCSO1? IBCSO2 was a major update

Yeah it does: see data_contributors and search Southern Ocean

adfraser commented 2 months ago

That's great then. I consider IBCSO2 the best available for the SO

pwongpan commented 2 months ago

Thanks all. I don't know how complicated it is, but it would be great to have a platform/cookbook where we could regenerate the bathymetry based on the new bathymetric observations (by icebreakers, Expendable Bathythermograph etc.) from the grid of interest.

adele-morrison commented 2 months ago

@pwongpan these tools exist and have been used for past models (ACCESS-OM2, panan): https://github.com/COSIMA/domain-tools

anton-seaice commented 2 months ago

4. extending closer to the south pole to include ice shelf cavities as was done in the 1/20° panAntarctic config

It is suggested in the ocean grid generator guide when doing this that the South Pole should be offset to maximise the distance from the Ice Shelves (which will lead to less tiny grid cells which could be ocean). The Ross Ice Shelf looks to extent past 85°S, so its probably worth considering.

Screenshort from nilas.org :) Screenshot 2024-06-26 at 10 09 46 AM

adele-morrison commented 2 months ago

Hmm, yes, good point @anton-seaice. That would make analysis a pain doing zonal averaging though!!!

anton-seaice commented 2 months ago

Hmm, yes, good point @anton-seaice. That would make analysis a pain doing zonal averaging though!!!

It could/should be possible to start the 'displaced pole' section at say 78°S, so for most configurations it would all be within the landmask.

adfraser commented 2 months ago

Would this mean that the Amery would have a more similar number of grid cells compared to the Ross and R-F? Could be a good thing.

aekiss commented 2 months ago

Re. tripole locations

aekiss commented 2 months ago

Re. refining in Antarctic and coarsening in Arctic, this can only be done in the y direction, e.g.

anton-seaice commented 2 months ago

I'm pretty sure there's hard-coding of index arithmetic in the model components which ties the tripole longitudes to the longitude of the edge of the grid, so this choice is tied to question 2 (longitude of zonal seam)

I am not sure that the indexes need to actually be aligned with the tripole for the arithmetic to work. But also I don't think there is a compelling reason to change the edge of the grid, so lets not break this.

From this diagram the longitudinal locations seem about optimal. Because they must be 180° apart, if we move them further west the Siberian one will be closer to the Gulf of Ob, and if we move them further east the Canadian one will get closer to Hudson Bay.

I think South & West is the thing to do.

moving them further south will increase the minimum cell size but also increase the area in which analysis is complicated by the grid lines are not being aligned with lat/lon, so some compromise is needed

Is 65°N very different to 60°N ? Are there changes in that range that make this more of a problem ? (I guess its the boundary from the pacific to arctic oceans?)

coarsening in the y direction in the Arctic tripolar cap, and perhaps stopping Mercator scaling further south than the current 65N.

I think this gets us more out of square? (I think?) Is it possible to define how square is ok and not ok?

anton-seaice commented 2 months ago

Would this mean that the Amery would have a more similar number of grid cells compared to the Ross and R-F? Could be a good thing.

This is like an Antarctic geography test! Yes in theory - but Amery is so much smaller anyway it seems like a marginal impact.

adfraser commented 2 months ago

I think given the heritage of Amery work within the Australian program, any grid gains here would be well-received! Will the ice sheet couple to this grid?

anton-seaice commented 2 months ago

I think given the heritage of Amery work within the Australian program, any grid gains here would be well-received! Will the ice sheet couple to this grid?

The ice-sheet model will run on its own grid, but probably this ocean grid (at some of its resolutions) would end up in all the ACCESS version 3 model configurations whcih have an ocean/sea-ice including those coupled to ice sheets.

aekiss commented 2 months ago

Also see issue with north pole cell area error and bipolar fold asymmetry here: https://github.com/ACCESS-NRI/access-esm1.5-configs/issues/23

ezhilsabareesh8 commented 2 months ago

Generated a new grid using make_hgrid, aiming to match the existing OM2 grid before making further improvements. The new grid fixes the abnormal area spikes at the North Pole but introduces a small bipolar fold asymmetry (refer here). Despite this, the newly generated one-degree grid closely resembles the existing OM2 grid. Here are some comparisons between the two grids.

grid_T_cellsize_1deg

grid_aspect_ratio_1deg

Cumulative_distribution_of_ocean_T_cell_size_1deg

Area at the north pole: The new grid resolves the abnormal area spike at the north pole in the OM2 grid (as shown in left plot), however it Introduces a area symmetry error compared to the original one. The error is of the magnitude of ~3.7e-6% (6m2 error on ~1.5e8 m2)

grid_area_symmetry

dy is fine: grid_dy_symmetry_1deg

dougiesquire commented 2 months ago

This looks pretty good to me @ezhilsabareesh8. Regarding the asymmetry, our options without modifying the code are:

  1. have largely incorrect areas near the north pole, with consistently incorrect eastern and western hemispheres
  2. have correct areas near the north pole, with larger, though still tiny, differences between the eastern and western hemispheres

Option 2. seems like the obvious choice to me

ezhilsabareesh8 commented 1 month ago

I tried different tools to create an OM2-like 025 deg grid, and there were some challenges with each one. I'm just documenting it here for future reference.

make_hgrid was used to create a 1-degree grid, which worked fine. But for the quarter-degree grid, it wasn't as useful. There seems to be a bug in make_hgrid when checking the error for the number of grid cells within a region (see here). The condition fabs(an-n) > tol is tricky because it uses float numbers instead of rounded numbers to check the error. Also, the T-cell size distribution shows extra smoothing when joining the Southern Ocean grid with the Mercator grid, increasing the number of cells and making it different from the existing OM2 grid.

Screenshot 2024-07-16 at 10 09 52 am

ORCA grid gen is used in CESM grids (refer here and discussions). The profile is similar to the OM2 grid, but it doesn’t generate the bipolar cap as needed as shown below.

Screenshot 2024-07-16 at 10 44 29 am

MIDAS is another tool that might also be used in CESM (refer here and here). However, there are some bugs, especially since it’s compatible with older Python 2. To run it in newer Python versions, some code modifications are needed, particularly in the division of integers in the index. Plus, this line needs to be modified to include some missing modules. The North Pole area error is too high in the MIDAS generated grid, introducing a huge bipolar fold asymmetry as shown below (see discussions here).

Screenshot 2024-07-16 at 11 04 39 am

Finally, an OM2-like grid was generated using the ocean model grid generator. Some hardcoded options needed changes (see here and here). Also, --match dy "so" was used to match the Southern Ocean grid resolution with the Mercator one. The abnormal area spike at the north pole (refer this issue) is resolved in the new grid.

Screenshot 2024-07-15 at 2 01 51 pm
aekiss commented 1 month ago

As @adele-morrison mentioned at today's TWG meeting, we need to check what the requirements are in MOM6 to output data at half-resolution - e.g. do we need an even number of grid cells in both directions?

aekiss commented 1 month ago

With reference to the original post, today's TWG meeting resolved to

  1. leave tripole points where they are
  2. leave longitudinal seam as-is
  3. explore putting C-grid zonal points exactly on the equator
  4. don't extend 1° or 0.25° closer to the pole, since they won't have ice cavities, but extend to grounding line to support ice cavities at 0.1° and higher, using a displaced pole (this can be done with ocean_grid_generator.py but can wait until after we've handed over 1° and 0.25° OM3 configs for CMIP7)
  5. Refine in the Antarctic by extending the Mercator region to 75°S and then extending with constant dx to the southern edge of the grid. No coarsening in the Arctic.
  6. Quantize double-precision to be exactly representable in single precision

and

  1. use GEBCO2023 topography
  2. make sure grid allows MOM6 output at half-resolution
access-hive-bot commented 1 month ago

This issue has been mentioned on ACCESS Hive Community Forum. There might be relevant details there:

https://forum.access-hive.org.au/t/cosima-twg-meeting-minutes-2024/1734/12