Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In mid-2023, the TR “intbilin” algorithm was failing when the source grid was not global (i.e. MPAS ocean grids). This has been resolved in 2024. Here are some tests comparing ESMF’s bilin, TR’s bilin and TR’s intbilin:

...

. Because the different bilinear options have different ranges (i.e. ESMF with the -i option only maps to atmosphere cells that are 100% over ocean cells), we compute the L2 and Max error over cells on the atmosphere grid where the ocean fraction (as defined by the flux map) is 1.0 (to 8 digits. ).

ESMF bilin

Y16_32 error plot

map_oEC60to30v3_to_ne30pg2_bilin_esmf_error.pngImage Removed

TR bilin

Errors away from coastline identical to ESMF bilin errors

Large errors are at coastlines, where TR bilin is mapping data to cells ignored by ESMF bilin

map_oEC60to30v3_to_ne30pg2_bilin_error.pngImage Removed

TR intbilin

Note that TR’s intbilin does have significantly larger errors as compared to bilin

intbilin is of interest since it will produce good results when downsampling and upsampling.

intbilin appears to have similar accuracy as ‘aave’ for this mesh, but the error appears slightly smoother.

map_oEC60to30v3_to_ne30pg2_intbilin_error.pngImage Removed

TR aave

monotone and conservative 1st order flux map

map_oEC60to30v3_to_ne30pg2_mono_error.pngImage Removed

mapping error for the Y16_32 test function, oEC60to30v3 → ne30pg2
error computed on atmosphere cells that are close to 100% ocean

Algorithm

L2 Error

Max Error

ESMF bilin

9.698e-04 

1.931e-03

TR bilin

2.022e-03

2.338e-02

TR intbilin

1.334e-02

1.206e-01

TR aave

1.260e-02 

1.189e-01

Initially Mark Taylor was concerned that the ESMF bilin had significantly lower errors than TR bilin. But this is due to the fact that ESMF bilin map was produced with the “-i” option, which tells ESMF to ignore cells on the atmosphere grid which are not fully covered by cells on the ocean grid. Without the “-i” option, ESMF 8.2.0 would crash with a segfault. ( ESMF can be run with an extrapolation option, which produces results over the entire atmosphere grid, including all land - not looked at here.). Below is a close up of the error (around the UK) when mapping the Y16_32 test function. Examining individual cells, it appears that for cells where ESMF and TR both produce data, the errors are identical.

num points with missing ocean data

aave

2.157e-03

6.782e-03

0

fv2

1.659e-03

5.322e-03

0

ESMF bilin

4.874e-04

1.931e-03

1370

TR bilin

4.919e-04

1.934e-03

1040

TR intbilin

2.318e-03

7.018e-03

0

Note that the cell integrated methods have significantly higher errors as compared to bilin. This is in part due to the fact that the target grid is coarse, and the error is computed as a pointwise error at cell centers (as opposed to the harder-to-compute cell averaged error). To check the performance of cell-integrated algorithms where the difference between pointwise and cell-averaged error will be smaller, we ran the test with maps from a coarse to fine grid:

mapping error for the Y16_32 test function IcoswISC30E3r5 → ne120pg2
error computed on atmosphere cells that are close to 100% ocean

Algorithm

L2 Error

Max Error

num points with missing ocean data

aave

l2=3.636e-04

max=1.850e-03

0

fv2

l2=5.972e-05

max=5.959e-04

0

ESMF bilin

l2=1.232e-04

max=4.769e-04

9315

TR bilin

l2=1.231e-04

max=4.770e-04

5809

TR intbilin

l2=2.272e-04

max=2.325e-03

0

For this case, intbilin performs better relative to the other maps. But now the most accurate map is fv2, even outperforming bilin interpolation.

Note on possible OCN->ATM state maps:

The 4th column in the above gives the number of points on the atmosphere grid, which are fractional ocean points (as determined by the aave map), but will receive no data from the ocean->atmosphere map. Maps with such points are unusable in E3SM as ocn->atm statemaps, because the atmosphere will be expecting ocean data at these points but instead will receive 0. As one of the main state variables it Temperature, this will cause the model to crash with unphysically cold temperatures, or create speckling patterns of stationary low surface temperature ( i.e.: /wiki/spaces/NGDNA/pages/3597565953 ).

Note that all the cell integrated TR algorithms are consistent with the aave map. This is because they use the same overlap mesh to compute the mapping weights. Thus we could, for the first time, consider using these higher order maps in E3SM for mapping state variables from ocean to atmosphere.