New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
#1327 (Generalised vertical interpolation in OBS for s-coordinates.) – NEMO

Opened 10 years ago

Closed 7 years ago

#1327 closed Enhancement (fixed)

Generalised vertical interpolation in OBS for s-coordinates.

Reported by: jwhile Owned by: weaver
Priority: low Milestone: Unscheduled
Component: OCE Version: v3.6
Severity: Keywords: OBS, vertical interpolation
Cc: timgraham

Description

Vertical interpolation in OBS needs to upgraded to deal with complex vertical coordinate systems (such as s-coordinates) only z-coordinates are currently dealt with.

This is a fairly minor change that has no impact on model dynamics. My plan for testing is to run the standard NEMO SETTE tests and also a produce a run using the AMM North West Shelf s-coordinate configuration with some profile data to show that the new code produces sensible results.

Ticket to be reviewed by Anthony Weaver (aweaver).

Commit History (0)

(No commits)

Attachments (17)

amm12_proT_BottomLeft.png (17.2 KB) - added by jwhile 10 years ago.
Bottom left profile in AMM12 domain
amm12_proT_BottomMiddle.png (17.4 KB) - added by jwhile 10 years ago.
Bottom middle profile in AMM12 domain
amm12_proT_BottomRight.png (17.4 KB) - added by jwhile 10 years ago.
Bottom right profile in AMM12 domain
amm12_proT_TopLeft.png (5.6 KB) - added by jwhile 10 years ago.
Top Left profile in AMM12 domain
amm12_proT_TopRight.png (412 bytes) - added by jwhile 10 years ago.
Top right profile in AMM12 domain
amm12_pro_locs.png (25.4 KB) - added by jwhile 10 years ago.
Location of profiles in AMM12 domain
amm12_BottomLeft.png (3.5 KB) - added by jwhile 10 years ago.
Bottom left profile in AMM12 domain
amm12_BottomRight.png (2.3 KB) - added by jwhile 10 years ago.
Bottom right profile in AMM12 domain
amm12_MiddleBottom.png (2.7 KB) - added by jwhile 10 years ago.
Bottom middle profile in AMM12 domain
amm12_TopLeft.png (2.7 KB) - added by jwhile 10 years ago.
Top Left profile in AMM12 domain
amm12_TopRight.png (2.3 KB) - added by jwhile 10 years ago.
Top right profile in AMM12 domain
amm12_loc.png (9.7 KB) - added by jwhile 10 years ago.
Location of AMM12 profiles
orca2_BottomLeft.png (3.4 KB) - added by jwhile 10 years ago.
Bottom left profile in ORCA2 domian
orca2_BottomRight.png (3.4 KB) - added by jwhile 10 years ago.
Bottom right profile in ORCA2 domain
orca2_TopLeft.png (3.4 KB) - added by jwhile 10 years ago.
Top Left profile in ORCA2 domain
orca2_locations.png (13.9 KB) - added by jwhile 10 years ago.
Location of ORCA2 profiles
orca2_TopRight.png (3.5 KB) - added by jwhile 10 years ago.
Orca2 Top Right profile

Download all attachments as: .zip

Change History (30)

comment:1 Changed 10 years ago by jwhile

  • Owner changed from NEMO team to jwhile
  • Status changed from new to assigned

comment:3 Changed 10 years ago by jwhile

To add some additional detail about my tests:

The SETTE tests should confirm that the updates do not have any impact on the model dynamics.

The AMM7 test will consist of running the AMM7 model with synthetic profiles at several locations both in shallow water and in deep water. On output these profiles should contain the model equivalent to the observations at all depths. These results can than then be compared offline to the 3-D model output and they should be very similar at all profile locations (The observations will contain the model equivalent at a particular time-step, whereas the model output will not have the same time resolution).

comment:4 Changed 10 years ago by weaver

The proposed code changes and testing procedure are appropriate.

Changed 10 years ago by jwhile

Bottom left profile in AMM12 domain

Changed 10 years ago by jwhile

Bottom middle profile in AMM12 domain

Changed 10 years ago by jwhile

Bottom right profile in AMM12 domain

Changed 10 years ago by jwhile

Top Left profile in AMM12 domain

Changed 10 years ago by jwhile

Top right profile in AMM12 domain

Changed 10 years ago by jwhile

Location of profiles in AMM12 domain

Changed 10 years ago by jwhile

Bottom left profile in AMM12 domain

Changed 10 years ago by jwhile

Bottom right profile in AMM12 domain

Changed 10 years ago by jwhile

Bottom middle profile in AMM12 domain

Changed 10 years ago by jwhile

Top Left profile in AMM12 domain

Changed 10 years ago by jwhile

Top right profile in AMM12 domain

Changed 10 years ago by jwhile

Location of AMM12 profiles

Changed 10 years ago by jwhile

Bottom left profile in ORCA2 domian

Changed 10 years ago by jwhile

Bottom right profile in ORCA2 domain

Changed 10 years ago by jwhile

Top Left profile in ORCA2 domain

Changed 10 years ago by jwhile

Location of ORCA2 profiles

comment:5 Changed 10 years ago by jwhile

The updated code has been submitted to https://forge.ipsl.jussieu.fr/nemo/browser/branches/2014/dev_r4650_UKMO14.4_OBS_GENERAL_VINTERP.

The code passes the SETTE tests as is detailed on the standard wikki page https://forge.ipsl.jussieu.fr/nemo/wiki/ticket/1327.


Changed 10 years ago by jwhile

Orca2 Top Right profile

comment:6 Changed 10 years ago by jwhile

To test the new functionality I have created a number of synthetic profiles in the AMM12 domain. While to test that I haven't broken the functionality in z-coordinate systems I have also created some profiles for the global ORCA2 domain

Other than location, all synthetic profile are nearly identical with all observations within the profile set at 15C. The depths of the observations are the same in all profiles; however, the AMM12 profiles only go down to 150m in the North Sea and 2500m in the deeper Atlantic water. All profiles in the ORCA2 grid go down to 4500m.

The locations of the profiles are given in the following:

AMM12
Location of AMM12 profiles

ORCA2
Location of ORCA2 profiles

Given these profiles I have ran tests using the SETTE WAMM12_32 and WORCA2LIMPIS_16 configurations. The idea of the tests being to show that the model background values returned from the observation operator are sensible.

The results are as follows:

AMM12 top left profile
Top Left profile in AMM12 domain

AMM12 bottom left profile
Bottom left profile in AMM12 domain

AMM12 middle bottom profile
Bottom middle profile in AMM12 domain

AMM12 top right profile
Top right profile in AMM12 domain

AMM12 bottom right profile
Bottom right profile in AMM12 domain

ORCA2 top left profile
Top Left profile in ORCA2 domain

ORCA2 bottom left profile
Bottom left profile in ORCA2 domian

ORCA2 top right profile
Orca2 Top Right profile

ORCA2 top right profile
Bottom right profile in ORCA2 domain

As can be seen, the results given by the observation operator seem reasonable with sensible magnitudes and shapes. It is important to note that in the AMM12 domain some of the synthetic profiles are deeper than the sea bed and in these cases the observation operator has only returned values down to the bed. This is the desired behaviour and is a demonstration that the s-coordinate observation operator code is working.

One further comment is that the profiles in the North Sea appear constant with depth. This is because the North sea is unstratified in January, which is the month used for the WAMM12_32 configuration.

I have also done this tests with salinity profiles (results not shown) and these too look fine.

comment:7 Changed 10 years ago by jwhile

  • Owner changed from jwhile to weaver
  • Status changed from assigned to new

Anthony, given the above could you please fill out a reviewers twiki for this code change. I have already set one up for you at:

https://forge.ipsl.jussieu.fr/nemo/wiki/ticket/review/1327

comment:8 Changed 9 years ago by jwhile

I have added some additional code to the branch at revision 4187.

The new code adjusts the observation land check so that it can work correctly in s-coordinates.

With one exception, see below, All of the above checks have been reran and the new code passes them all. The observations produced are identical to those shown above.

Unfortunately a bug has been discovered in the AMM12 configuration of revision 4650 of the NEMO trunk (the version of the trunk used for this code). This bug causes the SETTE test for processor decomposition to fail. This bug is currently being investigated and does not appear to be in the current head of the trunk. Unfortunately this bug also affects the code described here and therefore my code cannot pass this SETTE test (though it passes all others). Nonetheless I have tested my code against a run of revision 4650 of the trunk and it does give the same (erronius) answers, so my code does not actual change the results as is expected.

comment:9 Changed 9 years ago by jwhile

Anthony could you take a look at this new amended code.

comment:10 Changed 9 years ago by weaver

James: I've had a look at the code changes. OK for me apart from some formatting issues.

comment:11 Changed 9 years ago by jwhile

Antony,
I've made some minor fixes as per your comments. Can you give the new changes a quick once-over. I've re-ran the SETTE tests to make sure it still works

comment:12 Changed 9 years ago by weaver

James: Latest modifications are fine by me.

comment:13 Changed 7 years ago by jwhile

  • Resolution set to fixed
  • Status changed from new to closed

Closing ticket as code committed long ago.

Note: See TracTickets for help on using tickets.