#%% # regrid cube regrid_cube = iris.load_cube( '/home/links/rmv203/obs_datasets/Tair_WFDEI_ann.nc') regrid_cube = time_average(regrid_cube) regrid_cube.coord('latitude').guess_bounds() regrid_cube.coord('longitude').guess_bounds() regrid_modelcube = regrid_cube.copy() #%% # Observational datasets # Observational temperature obs_temp_file = iris.load_cube( '/home/links/rmv203/obs_datasets/Tair_WFDEI_ann.nc') obs_temp_file = select_time(obs_temp_file, 2001, 2010) obs_temp_file = time_average(obs_temp_file) obs_temp = obs_temp_file.data obs_temp = np.ma.masked_where(obs_temp > 60, obs_temp) current_temp = obs_temp.copy() # Observational soil carbon # ncscd ncscd_file = Dataset( '/home/links/rmv203/obs_datasets/NCSCDV22_soilc_0.5x0.5.nc') ncscd_data = ncscd_file.variables['soilc'][:] n_lat_ncscd = ncscd_file.variables['lat'][:] n_lon_ncscd = ncscd_file.variables['lon'][:] # hwsd hwsd_file = Dataset('/home/links/rmv203/obs_datasets/HWSD_soilc_0.5x0.5.nc') hwsd_data = hwsd_file.variables['soilc'][:]
for model_i in range(0, n_models): model = cmip5_models[model_i] # seleting the models print(min_temperature, rcp, model) #%% #%% # finding spatial profile for future temperature # time averaged, area averaged historical/present day temperature tas_preindustrial_cube = combine_netCDF_cmip5( '/home/rmv203/cmip5_data/tas_Amon_' + model + '_historical*', 'air_temperature', model) tas_preindustrial_cube = open_netCDF(tas_preindustrial_cube) tas_preindustrial_cube = select_time(tas_preindustrial_cube, 1995, 2005) tas_preindustrial_cube = time_average(tas_preindustrial_cube) tas_preindustrial_cube = area_average(tas_preindustrial_cube, region_global) tas_preindustrial_data = tas_preindustrial_cube.data # cube to find future temperature change tas_cube = combine_netCDF_cmip5( '/home/rmv203/cmip5_historical_' + rcp + '/tas_Amon_' + model + '_*', 'air_temperature', model) tas_cube = open_netCDF(tas_cube) tas_test_cube = annual_average(tas_cube) # defining the time variable for years tas_test_years = tas_test_cube.coord('year').points tas_test_cube = area_average(tas_test_cube, region_global) tas_test_data = tas_test_cube.data
'/home/rmv203/cmip5_data/rh_Lmon_' + model + '_historical*', 'heterotrophic_respiration_carbon_flux', model) rh_historical_cube = open_netCDF(rh_historical_cube) # Soil Carbon (cSoil) cSoil_historical_cube = combine_netCDF_cmip5( '/home/rmv203/cmip5_data/cSoil_Lmon_' + model + '_historical*', 'soil_carbon_content', model) cSoil_historical_cube = open_netCDF(cSoil_historical_cube) # Near Surface Air Temperature (tas) tas_historical_cube = combine_netCDF_cmip5( '/home/rmv203/cmip5_data/tas_Amon_' + model + '_historical*', 'air_temperature', model) tas_historical_cube = open_netCDF(tas_historical_cube) # Select historical time period rh_historical_cube = select_time(rh_historical_cube, lower_historical, upper_historical) cSoil_historical_cube = select_time(cSoil_historical_cube, lower_historical, upper_historical) tas_historical_cube = select_time(tas_historical_cube, lower_historical, upper_historical) # Time average rh_historical_cube = time_average(rh_historical_cube) cSoil_historical_cube = time_average(cSoil_historical_cube) tas_historical_cube = time_average(tas_historical_cube) # Converting from cubes to numpy_arrays rh_historical_data = rh_historical_cube.data cSoil_historical_data = cSoil_historical_cube.data tas_historical_data = tas_historical_cube.data # save to use later historical_tas_save_data = tas_historical_data - 273.15
for model_i in range(0, n_models_cmip5): model = cmip5_models[model_i] # seleting the models print(rcp, model) #%% modelled historical # Soil Carbon (cSoil) cSoil_historical_cube_new = combine_netCDF_cmip5('/home/rmv203/cmip5_data/cSoil_Lmon_'+model+'_historical*', 'soil_carbon_content', model) cSoil_historical_cube_new = open_netCDF(cSoil_historical_cube_new) # Near Surface Air Temperature (tas) tas_historical_cube = combine_netCDF_cmip5('/home/rmv203/cmip5_data/tas_Amon_'+model+'_historical*', 'air_temperature', model) tas_historical_cube = open_netCDF(tas_historical_cube) # Select historical time period cSoil_historical_cube_new = select_time(cSoil_historical_cube_new, lower_historical, upper_historical) tas_historical_cube = select_time(tas_historical_cube, lower_historical, upper_historical) # Time average cSoil_historical_time_av_cube_new = time_average(cSoil_historical_cube_new) tas_historical_cube = time_average(tas_historical_cube) tas_historical_data = tas_historical_cube.data # Converting from cubes to numpy_arrays cSoil_historical_time_av_data_new = cSoil_historical_time_av_cube_new.data #%% Modelled Future # Soil Carbon (cSoil) cSoil_cube = combine_netCDF_cmip5('/home/rmv203/cmip5_data/cSoil_Lmon_'+model+'_'+rcp+'_*', 'soil_carbon_content', model) cSoil_cube = open_netCDF(cSoil_cube)
rh_historical_cube = combine_netCDF_cmip5( '/home/rmv203/cmip5_data/rh_Lmon_' + model + '_historical*', 'heterotrophic_respiration_carbon_flux', model) rh_historical_cube = open_netCDF(rh_historical_cube) # Soil Carbon (cSoil) cSoil_historical_cube = combine_netCDF_cmip5( '/home/rmv203/cmip5_data/cSoil_Lmon_' + model + '_historical*', 'soil_carbon_content', model) cSoil_historical_cube = open_netCDF(cSoil_historical_cube) # Near Surface Air Temperature (tas) tas_historical_cube = combine_netCDF_cmip5( '/home/rmv203/cmip5_data/tas_Amon_' + model + '_historical*', 'air_temperature', model) tas_historical_cube = open_netCDF(tas_historical_cube) # Select historical time period rh_historical_cube = select_time(rh_historical_cube, lower_historical, upper_historical) cSoil_historical_cube = select_time(cSoil_historical_cube, lower_historical, upper_historical) tas_historical_cube = select_time(tas_historical_cube, lower_historical, upper_historical) # Time average rh_historical_time_av_cube = time_average(rh_historical_cube) cSoil_historical_time_av_cube = time_average(cSoil_historical_cube) tas_historical_time_av_cube = time_average(tas_historical_cube) # Converting from cubes to numpy_arrays rh_historical_time_av_data = rh_historical_time_av_cube.data cSoil_historical_time_av_data = cSoil_historical_time_av_cube.data tas_historical_time_av_data = tas_historical_time_av_cube.data # Calculating Soil Turnover Time tau_s_data_historical = cSoil_historical_time_av_data / (
'/home/rmv203/cmip5_data/rh_Lmon_' + model + '_historical*', 'heterotrophic_respiration_carbon_flux', model) rh_historical_cube_new = open_netCDF(rh_historical_cube_new) # Soil Carbon (cSoil) cSoil_historical_cube_new = combine_netCDF_cmip5( '/home/rmv203/cmip5_data/cSoil_Lmon_' + model + '_historical*', 'soil_carbon_content', model) cSoil_historical_cube_new = open_netCDF(cSoil_historical_cube_new) # Near Surface Air Temperature (tas) tas_historical_cube = combine_netCDF_cmip5( '/home/rmv203/cmip5_data/tas_Amon_' + model + '_historical*', 'air_temperature', model) tas_historical_cube = open_netCDF(tas_historical_cube) # Select historical time period rh_historical_cube_new = select_time(rh_historical_cube_new, lower_historical, upper_historical) cSoil_historical_cube_new = select_time(cSoil_historical_cube_new, lower_historical, upper_historical) tas_historical_cube = select_time(tas_historical_cube, lower_historical, upper_historical) # Time average rh_historical_time_av_cube_new = time_average(rh_historical_cube_new) cSoil_historical_time_av_cube_new = time_average( cSoil_historical_cube_new) tas_historical_cube = time_average(tas_historical_cube) tas_historical_data = tas_historical_cube.data # Converting from cubes to numpy_arrays rh_historical_time_av_data_new = rh_historical_time_av_cube_new.data