Nayan
Nayan

Reputation: 21

How to calculate Ocean heat content?

I have a subsurface temperature data upto 300m oceanic depth (having irregular depth). And I want to calculate ocean heat content for 0-300m in Python. The cell area is being computed by CDO tool.

The formula is:

OHC = sea water density * Specific heat capacity * integrating the temperature over this depth.

I am able to write a code.

#OHC Calculation  
def ocean_heat(Temperature,cell Area):  

   density = 1026 #kg/m^3

   c_p = 3990 #J/(kg K)
    
   heat = Temperature.sum(dim=['depth','lon','lat']) * density * c_p * cell Area
    
   return heat

But, the depth is not on same interval. So I think there is need to use weighted temperature. So if anyone can help to know the proper procedure to compute OHC. And if there is another sources or modules then please let me know.

Thank you.

Upvotes: 0

Views: 515

Answers (1)

Luke
Luke

Reputation: 80

If your dataset is a NetCDF file I suggest taking a look at the Xarray package. It is used to work with labeled multidimensional arrays. It is very popular in Earth Science.

Here is an example from Pangeo using Xarray to calculate ocean heat content: https://gallery.pangeo.io/repos/NCAR/notebook-gallery/notebooks/Run-Anywhere/Ocean-Heat-Content/OHC_tutorial.html

The first part is about speeding up the computation with Dask. Task 8 is where they start calculating ocean heat content.

Upvotes: 0

Related Questions