FAMOUS

Coupling

Testing

The IDL program famous_transa2o (based on hadcm3_transa2o) tests the atmosphere to ocean coupling in FAMOUS by repeating the coupling calculations that the model performs. FAMOUS uses the Fortran UM library routine TRANSA2O with modifications from ccouple (~jonathan/um/transa2o1_famous).

Briefly, data from an atmosphere field is transferred to the ocean grid first by bilinear interpolation with coastal adjustment (transa2o_bilinear), and then imposing conservation of the global average (pp_regrid_avg). Conservation is not applied to WSX, WSY or Runoff.

Data

To obtain test data, I took daily means from a one-day run of FAMOUS (xbyjd) for the following atmosphere and ocean fields:

 
Submodel Stash Description 
 ATMOS   0031  frac of sea ice in sea after tstep
 ATMOS	 1203  net dn sw rad flux:open sea:sea mean
 ATMOS	 1250  net dn sw o sea flx blw 690nm:sea mn
 ATMOS	 2203  net dn lw rad flux:open sea:sea mean
 ATMOS	 3201  ht flux through seaice:sea mean w/m2
 ATMOS	 3224  wind mix en'gy fl to sea:sea mn w/m2
 ATMOS	 3228  scale snowfall rate kg/m2/s
 ATMOS	 3232  evap from open sea: sea mean kg/m2/s
 ATMOS	 3235  seaice top melt lh flx:sea mean w/m2
 ATMOS	 3351  sublim.: sea-ice: sea mean kg/m2/ts
 ATMOS   3392  x-comp of mean sea surf stress n/m2 
 ATMOS	 3394  y-comp of mean sea surf stress n/m2 
 ATMOS	 4203  large scale rainfall rate kg/m2/s
 ATMOS   4204  large scale snowfall rate kg/m2/s
 ATMOS	 5205  convective rainfall rate kg/m2/s
 ATMOS	 5206  convective snowfall rate kg/m2/s
 ATMOS   8204  sfc runoff amount:land mean kg/m2/ts
 ATMOS   8205  sub-sfc runoff amt:land mn  kg/m2/ts
 OCEAN   0150  taux: x_windstress n/m2 a
 OCEAN	 0151  tauy: y_windstress n/m2 a
 OCEAN	 0152  wme: wind mixing energy flux w/m2 a
 OCEAN	 0161  sol: pen.solar*lf into ocean w/m2 a
 OCEAN	 0162  htn:nonpen.ht.flx*lf into ocn w/m2 a 
 OCEAN	 0165  ple:precip-evap into ocean kg/m2/s a
 OCEAN	 0166  river outflow into ocean kg/m2/s a 
 OCEAN	 0171  snowfal into ocn/onto ice kg/m2/s a 
 OCEAN	 0172  sublimination from seaice kg/m2/s a 
 OCEAN	 0190  gbm seaice topmelt heat flux w/m2 a 
 OCEAN	 0191  gbm seaice botmelt heat flux w/m2 a 


Results

The program compares it’s computed field (coded with the prefix A) to the Ocean (O) and Atmosphere (AA) fields output from FAMOUS, giving the minimum, maximum and mean values for each field. It also computes the percentage of A and O gridpoints which are “nearly equal”, i.e., within 0.01*factor of each other, where factor is a power of 10 which all the statistics are divided by. The exponent of factor is given in the column labelled “E” below.

The results of famous_transa2o:

Quantity        E    AAmean     Amean     Omean    AAmax     Amax     Omax    AAmin     Amin     Omin    %eq
WSX            -3 -1.387246 -1.205246 -1.205245   447.67   394.72   394.72  -509.76  -509.76  -509.76  1.000
WSY            -3 -8.898055 -8.655645 -8.655646   292.15   275.76   275.76  -292.30  -271.65  -271.65  1.000
WME            -3  1.275695  1.275906  1.275834    14.20    17.33    17.33     0.00     0.00     0.00  0.973
SOL             1  9.360770  9.362338  9.362324    18.36    20.91    20.91     0.00     0.00     0.00  0.957
HTN             1 -8.618888 -8.620217 -8.620190    12.51    12.57    12.57   -70.62   -79.47   -79.47  0.940
PME            -6 -4.152116 -4.152775 -4.152775   501.34   596.97   596.97  -206.51  -179.64  -179.64  0.945
Runoff         -6  6.260634  6.260634  6.173468   196.89   196.89   666.95     0.00     0.00     0.00  0.000
Snowfall       -6  2.053950  2.054225  2.054225   127.10   113.25   113.25     0.00     0.00     0.00  0.961
Sublimation    -7  2.492836  2.493383  2.493384   220.21   232.77   232.77   -97.39  -126.68  -126.68  0.954
BOTMELT         0 -1.140634 -1.139806 -1.139807     0.39     4.58     8.47  -103.59   -77.11   -75.88  0.957
TOPMELT         0  1.781031  1.781328  1.781329    83.11    97.41    97.41     0.00     0.00     0.00  0.975

In general, we see good agreement between the A and O values, that is, the statistics correspond to within 2 decimal places and over 94% of points are nearly equal. There are a couple of notable exceptions - runoff and botmelt. In the case of runoff, only the means should be tolerably similar (within about 1%) as exact grid-box areas are not used in the coupling routines to perform the aggregation. The botmelt values do appear strange however. Although we see 95.7% equality of points, the differences between the min and max values seems significant and warrants further investigation.

Botmelt

Plotting points with at least 1 unit difference between A and O values. This showed that they were all along the coast. Since land points in the ocean fields are marked with a missing data value, this suggests inconsistency in the way the interpolation routine deals with the absence of data.

To illustrate, I have picked out the largest difference found in the botmelt field, a value of −28.0443 computed by famous_transa2o compared to −50.3755 from FAMOUS. This corresponds to grid point 55 degrees latitude, 138.75 degrees longitude, shown below for the A and O fields.

ABotmelt

50.0 - - 1.75771 1.26203 0.766361 0.587609
52.5 - - 1.36132 1.49325 1.62518 −1.04725
55.0 - −28.0443 1.02570 1.79721 2.56873 −2.63170
57.5 - - −51.9511 −49.3108 −46.6705 −32.0756
60.0 - - - - - -
135.00 138.75 142.50 146.25 150.00 153.75

OBotmelt

50.0 - - 1.75770 1.26203 0.766359 0.587608
52.5 - - 5.03115 3.32816 1.62517 −1.04726
55.0 - −50.3755 8.47122 5.51997 2.56871 −2.63171
57.5 - - −48.1647 −47.4177 −46.6706 −32.0757
60.0 - - - - - -
135.00 138.75 142.50 146.25 150.00 153.75

Recall the coupling is done in two stages - bilinear interpolation and then conservation of area average. Below are the ABotmelt points from above, before the conservation is applied.

ABotmelt before conservation of area-average

50.0 - - 0.00000 0.00000 0.00000 0.00000
52.5 - - −2.50314 −2.29095 −2.07877 −3.38277
55.0 - −5.00629 −5.00629 −4.58191 −4.15753 −6.76553
57.5 - - −38.3233 −36.3555 −34.3878 −25.5245
60.0 - - - - - -
135.00 138.75 142.50 146.25 150.00 153.75

The point of interest lies midway between the two highlighted points on the atmosphere grid, shown below. Since the surrounding atmosphere points contain missing data, the interpolation routine takes the value of the “nearest neighbour”. In this case, however, the two nearest points are equidistant and so the choice is arbitrary. In fact, different points have been chosen each time, and since, due to the nature of the field they have such varying values this makes the difference between A and O fields so noticeable.

The situation reveals a flaw in the bilinear interpolation algorithm. The ocean point lies exactly on an Atmosphere latitude grid-line and so the interpolation should not require points from any other rows.

AABotmelt

50.0 - 0.00000 0.00000
55.0 −57.1143 −5.00629 −4.15753
60.0 - −71.6403 −64.6181
135.0 142.5 150.0

To test this theory, I added a small amount to the length of the grid boxes (bdx + 0.001), which forces the larger left hand value to be chosen as “nearest neighbour”, replicating the behaviour of FAMOUS. From the values below, we can see that the values in this region now agree with OBotmelt to 2 decimal places.

ABotmelt with a small amount added to the grid box length

50.0 - - 1.75791 1.26213 0.766349 0.587610
52.5 - - 5.03128 3.32823 1.62559 −1.04672
55.0 - −50.3754 8.47126 5.52001 2.56957 −2.63064
57.5 - - −48.1648 −47.4174 −46.6719 −32.0768
60.0 - - - - - -
135.00 138.75 142.50 146.25 150.00 153.75

We are satisfied that this problem explains the other significantly different points in the field.

The code for famous_transa2o can be found under ~annette/idl/famous_transa2o/, along with the data files used to produce these results.

Page last modified on October 26, 2007, at 08:20 AM by annette