cmip6dr / CMIP6_DataRequest_VariableDefinitions

Definitions of variables in the CMIP6 Data Request
7 stars 0 forks source link

Should there be an olevel_half dimension? #201

Closed TimGraham1982 closed 5 years ago

TimGraham1982 commented 7 years ago

Some of the ocean variables are defined at the interface between the ocean grid cells (e.g. zhalfo, wo, wmo). Would it make more sense to have an olevel_half dimension analogous to alevel_half. I realise it may now be too late to implement this.

taylor13 commented 6 years ago

Here I record an offline discussion of this:

Martin J.:

Karl and others have suggested that we introduce am "olevhalf" dimension for ocean model half 
levels, similar to the "alevhalf" dimension which was used in CMIP5 for atmosphere half levels.

This new dimension would be used for zhalfo (the geometric height of ocean half-levels). Tim
 Graham has suggested that it should also be used for vertical velocity and mass flux, wo and 
wmo. This makes sense, but the data hasn't been explicitly requested on half levels.

I've reviewed what was done in CMIP5 -- from the 36 models that we have CMIP5 historical data 
at CEDA for wmo and uo, 13 models used the same vertical levels for both variables, the other 23
 appear to have used half-levels for wmo.  As far as the horizontal location of the data point goes, 
we have requested that variables be interpolated to cell centres, even if the variable is held on a
 cell vertex in the model itself.

Do you have a preference for wo and wmo in CMIP6? Should we specify data on half levels, leave
 it up to the modelling groups or specify full levels?

Steve G.

Interesting thought.  I must admit having considered the olevhalf as the standard for mapping wo 
and wmo, since that is the proper depth to have wo and wmo be 

computed via continuity from umo and vmo.  Sorry not to have thought beforehand to define this
 more clearly in so far as the depth levels for the diagnostic.  At GFDL, we follow this approach
 with the olevhalf.  I was unaware that others did not follow that approach.  

So bottomline is I think we should recommend olevhalf be the levels on which wo and wmo are 
placed.  

Having said that, are we perhaps going to be too late for those who pursue the alternative?  

Balaji:

I think it is too late, certainly for GFDL (not that we would need to reprocess, but, just saying, our
 workflow is now frozen). I think we can add a recommendation to the output grid guidance, but I
 wouldn't be surprised if we ended up with a similar mix again. 

Karl T.:

I agree that we can't insist at this point that vertical velocity and fluxes be provided on half-levels.
  However, as Steve says, it would be desirable to avoid interpolation from half levels to full levels,
 and many groups I think will really want to provide the vertical fluxes on half levels.

I need to confirm this, but I think CMOR could handle both options (allowing either half-level or
 full-level).   The only difference in the CMOR tables is that full-level data  normally requires cell 
bounds (i.e., the vertical extent of a grid cell must be recorded in the output file), but half-level
 data does not.

The options for changing the data request to allow flexibility for the vertical levels are:

1) Do nothing, but then users reporting data on half-levels, rather than full levels would also be
 *required* to make up and store some cell bounds.

2)  Modify the data request, changing "cell_bounds_required" from "yes" to "no" for *all* ocean
 level data.  User could still include bounds for the full-level fields (the bounds are "allowed", but
 *not* required).  CMOR, however, would fail to warn users if they forgot to include the bounds
 when they should have really included them.

3)  Modify the data request by defining a new vertical coordinate (e.g., "olev") that would indicate
 data could be reported either on model levels or on half-levels.  The vertical velocity and vertical
 fluxes would be defined as functions of "olev" (rather than the current "olevel").  For "olev",
 "cell_bounds_required" would be set to "no".  In this case all the other ocean model level data
 would require bounds and CMOR would notice when the user forgot them.

I don't like option 2 because lots of models might omit the bounds, which are needed to compute
 volume integrals.

Option 1 doesn't sit well with me because the bounds would be required but are meaningless.

Option 3 would be my choice if we were deciding this several months ago (and we didn't want to
 *require* the vertical velocity and fluxes be put on half levels).  I'm a little worried, however, that
 there might be unanticipated consequences of adding a new coordinate now.

I guess on balance I'd vote for option 1.  I'm not sure, however, how a user would know which
 variables can be reported on half-levels.

Tim G.

Thanks for clarifying this. Like Steve it didn’t really cross my mind early on that variables such as
 wo or wmo could be expected on full levels so I’m glad to hear Steve confirm this is his thinking
 as well. As far as I know all of the NEMO model users will be outputting these variables on
 half-levels.

Martin J.

After reading that discussion I've checked what was done in CMIP5: for all but one of the models
 the cell bounds were provided for both full levels and half levels. For one model (BNU-ESM) the
 bounds were omitted for both full levels and half levels -- which is clearly non-compliant with the
 requirements.

For vertical fluxes: at CEDA we only have vertical fluxes on ocean levels from two groups, GFDL 
and UKMO. I've looked at expc (Sinking particulate organic carbon flux). In both cases this flux is 
stored on full model levels, even though these groups have both opted to put their wmo data on 
half levels. In the CMIP5 archive as a whole a few more groups produced such vertical fluxes, but 
not many. Having vertical fluxes on full levels and vertical velocities on half levels doesn't look 
desirable to me .. so perhaps we should make a clear revision to discourage this.

Karl's option (3) could be implemented as a recommendation .. which would not affect the validity
 of data produced under the current request.

If we follow option (1), and add a guidance note, we are unlikely to get much consistency in the
 choice of levels, as some groups are likely to assume that all variables requested with "olevel" 
should be handled the same.

However, I am concerned about making the change for all vertical fluxes (principally . The list of 
variables on ocean model levels with "Flux" in the long name is:

exparag, expc, expcalc, expfe, expn, expp, expsi, fg14co2abio, fgco2abio, fgco2nat, ficeberg, 
hfibthermds, hfrunoffds, hfsifrazil, hfsnthermds. Is this a complete list? (Some of these are 
requested as surface fields by OMIP, but on model levels by C4MIP/PMIP ... I need to check those 
requests).
taylor13 commented 6 years ago

The surface fluxes should obviously be reported at the surface. The others fluxes I think would be natural to report on half-levels for budget studies. I don't think we have to worry about compliance, just accommodate those who want to report on half-levels rather than full levels. So nothing has to be changed in the data request (or CMOR), but we should provide guidance that: "For those who wish to record vertical velocities and vertical fluxes on ocean half-levels, you may do so. [Note: for those relying on CMOR3, you will have to define artificial bounds (e.g., located at the full-model levels); without bounds for ocean vertical velocities and fluxes, CMOR3 will error exit.]"

martinjuckes commented 5 years ago

On reflection, I think ficeberg, hfibthermds, hfrunoffds, hfsifrazil, hfsnthermds should be taken off the list: these are, for some models, fluxes into the ocean as a function of depth, but they are horizontal fluxes from ice which extends below the surface.

I've added a "forward look" comment, so that this can be cleared up more in CMIP7: https://github.com/cmip6dr/cmip7_forward_look/issues/24