Analysis Scripts and Data used for the submission:
Huguenin, M. F., Holmes, R. M. and England, M. H. (2022). Drivers and distribution of global ocean heat uptake over the last half century. Nature Communications
I use the following main python3 (Van Rossum and Drake, 2009) packages which are publicly available online:
- cartopy for creating maps (MetOffice, 2010)
- numpy for numerical operations (Oliphant, 2007)
- xarray for loading in and working with .nc data files (Hoyer and Hamman, 2017)
The script JRA55_preparation_pre-industrial_offset_RDF.ipynb documents how I create the forcing files for the repeat decade spin-up. For the first 1910 years of the spin-up, 0.133°C are removed from the surface air temperature fields and 0.7 W/m2 are removed from the downward longwave radiative fields. Additionally, we modify the specific humidity to keep the relative humidity constant and to avoid overly impacting evaporation and the latent heat fluxes. Between the years 1911 and 2000 of the spin-up we reduce the pre-industrial offsets (of -0.133°C and 0.7 W/m2) linearly back to no offset in the 1962-1971 decade (see Fig. 1a in the main manuscript).
With the following two scripts I create the perturbation forcing for all experiments: JRA55_preparation_PO_AO_and_IO_and_SO_input_for_perturbations_1972-2017.ipynb and JRA55_preparation_TROPICS_input_for_perturbations_1972-2017.ipynb
This includes first creating a forcing mask for repeat decade (RDF) and interannual forcing (IAF) regions. In the Southern Ocean-only experiment, for example, IAF is applied south of 44°S while the remaining ocean north of 44°S is experiencing RDF (see the Methods section in the main manuscript and the Figures in the jupyter notebook). There is a boundary region between the two forcing fields of four grid cells. Then I make sure that the two forcing fields match in their calendar. Since the RDF is cycling through a single decade and the IAF is going from 1972-2017, there are some issues with leap days which I solve. I then write the final forcing data into a .netcdf file.
Fig. 2: Experimental design of the new spin-up. Fig1_drift_calculations_in_the_total_ocean_heat_content.ipynb
Fig. 2: Recent global ocean heat content anomalies in observations and hindcast model simulations. Fig2_comparing_IAF_OHC_from_new_simulation_with_OBS.ipynb
Fig. 3: Spatial distribution of ocean heat uptake, transport, storage and SST trends over 1972--2017 in the simulation with full interannual forcing. Fig3_spatial_maps_and_zonal_integral_of_accumulated_ocean_heat_content_and_net_sfc_heating_anomalies-PI_Offset.ipynb
Fig. 4: Simulated global and regional OHC changes due to thermal/wind trends and due to atmospheric trends over individual regions. Fig4_time_series_and_histograms_perturbation_simulations.ipynb
Fig. 5: Southern Hemisphere ocean heat uptake, temperature and net longwave and sensible heat flux trends over 1972--2017. Fig5_zonal_mean_integrals.ipynb
Fig. 6: Schematic summarising anomalous global ocean heat uptake and transport over the last half century in different hindcast simulations. Fig6_schematic_OHC_map_and_side_panels.ipynb and Fig6_schematic_OHC.ppt
Fig. E1: Total ocean heat content anomalies in ACCESS-OM2. FigE1_time_series_last_cycle_all_three_resolutions_of_ACCESS-OM2.ipynb
Fig. E2: Simulated global ocean heat content in OMIP-2 and CMIP6. Same script as for Fig. 2.
Fig. E3: Spatial distribution of ocean heat uptake and storage trends over 1997-2017 in the simulation with full interannual forcing. Same script as for Fig. 3.
Fig. E4: Maximum strength of the Atlantic Meridional Overturning (AMOC) Streamfunction at 26°N between 103°W and 5°W. FigE4_overturning_stream_function_in_both_cartesian_neutral_density_space_ACCESS-OM2-1_new.ipynb
Fig. E5: Spatial distribution of OHU, transport, storage and SST trends over 1972-2017 in the wind-only and thermal-only forcing experiment. Same script as for Fig. 3.
Fig. E6: As in Fig. E5. but for the Southern Ocean-only experiment. FigE5_regional_spatial_maps_and_zonal_integral_of_accumulated_ocean_heat_content_and_net_sfc_heating_anomalies-PI_Offset.ipynb
Fig. E7: Ocean heat content trends over 1992-2011 in the Tropics 30°S-30°N experiment. Same script as for Fig. E6.
Fig. E8: Ocean heat content changes since 1972 in the basin-wide simulations. Same script as for Fig. 4.
Fig. E9: Spatial distribution of ocean heat uptake, transport, storage and SST trends over 1972--2017 in the Pacific, Indian and Atlantic Ocean-only simulations. Same script as for Fig. E6.
| Description of simulation | Model files* | Input files | Storage files** |
| ----------------------------- | -------------------------- | ----------------------------------- | ------------------------------------------------ |
| Pre-industrial offset spin-up | 1deg_jra55_iaf_PI_Offset | e14/EXP_PI_Offset_JRA55-do-1-3 | 1deg_jra55_rdf_spinup_PI_Offset |
| "" "" continued for control | 1deg_jra55_iaf_PI_Offset | e14/EXP_PI_Offset_JRA55-do-1-3 | 1deg_jra55_rdf_spinup_PI_Offset_continued |
| "" "" continued with scaling | 1deg_jra55_iaf_PI_Offset | e14/EXP_PI_Offset_JRA55-do-1-3 | 1deg_jra55_rdf_spinup_PI_Offset_scaling |
| "" "" control run | 1deg_jra55_iaf_Control | /g/data/qv56 | 1deg_jra55_rdf_branch2000_Control_PI_Offset |
| Full interannual forcing | 1deg_jra55_iaf_branch2000 | /g/data/qv56 | 1deg_jra55_iaf_branch2000_PI_Offset |
| ----------------------------- | -------------------------- | ----------------------------------- | ------------------------------------------------ |
| Wind-only forcing | 1deg_jra55_iaf_Wind | e14/EXP_Wind-Radiation_JRA55-do-1-3 | 1deg_jra55_iaf_branch2000_Wind_PI_Offset |
| Buoyancy-only forcing | 1deg_jra55_iaf_TempRad | e14/EXP_Wind-Radiation_JRA55-do-1-3 | 1deg_jra55_iaf_branch2000_TempRad_PI_Offset |
| ----------------------------- | -------------------------- | ----------------------------------- | ------------------------------------------------ |
| Southern Ocean-only forcing | 1deg_jra55_iaf_Southern | e14/EXP_Southern_JRA55-do-1-3 | 1deg_jra55_iaf_branch2000_Southern_PI_Offset |
| North of 44°S forcing | 1deg_jra55_iaf_Northern | e14/EXP_Northern_JRA55-do-1-3 | 1deg_jra55_iaf_branch2000_Northern_PI_Offset |
| Tropics-only forcing | 1deg_jra55_iaf_Tropics30SN | ik11/EXP_Tropics_30SN_JRA55-do-1-3 | 1deg_jra55_iaf_branch2000_Tropics30SN_PI_Offset |
| ----------------------------- | -------------------------- | ----------------------------------- | ------------------------------------------------ |
| Pacific Ocean-only forcing | 1deg_jra55_iaf_Pacific | ik11/EXP_Pacific_JRA55-do-1-3 | 1deg_jra55_iaf_branch2000_Pacific_PI_Offset |
| Indian Ocean-only forcing | 1deg_jra55_iaf_Indian | ik11/EXP_Indian_JRA55-do-1-3 | 1deg_jra55_iaf_branch2000_Indian_PI_Offset |
| Atlantic Ocean-only forcing | 1deg_jra55_iaf_Atlantic | ik11/EXP_Atlantic_JRA55-do-1-3 | 1deg_jra55_iaf_branch2000_Atlantic_PI_Offset |
| ----------------------------- | -------------------------- | ----------------------------------- | ------------------------------------------------ |
* /home/561/mv7494/
** /g/data/e14/mv7494