{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparing methods of calculating weighted regional and global means" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Import packages" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import xarray as xr\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import esmlab" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Suppress runtime warnings" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import warnings\n", "\n", "# supress Runtime warnings\n", "warnings.simplefilter(\"ignore\", category=RuntimeWarning)\n", "\n", "# Turn warmings back on\n", "#warnings.resetwarnings()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Specify some test data" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/glade/scratch/kdagon/archive/hydro_ensemble_default_params/lnd/hist/\n" ] } ], "source": [ "# This is a 4x5 I2000 control simulation with GSWP forcing (cycled 2000-2004) for 30 years\n", "scr_dir = '/glade/scratch/kdagon/archive/'\n", "case_name = 'hydro_ensemble_default_params'\n", "file_path = scr_dir+case_name+'/lnd/hist/'\n", "print(file_path)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Specify model year, read in data" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "model_yr = 30" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "Dimensions: (cft: 2, glc_nec: 10, hist_interval: 2, lat: 46, levdcmp: 1, levgrnd: 25, levlak: 10, levsoi: 20, lon: 72, ltype: 9, natpft: 15, nvegwcs: 4, time: 12)\n", "Coordinates:\n", " * lon (lon) float32 0.0 5.0 10.0 ... 345.0 350.0 355.0\n", " * lat (lat) float32 -90.0 -86.0 -82.0 ... 82.0 86.0 90.0\n", " * levdcmp (levdcmp) float32 1.0\n", " * levgrnd (levgrnd) float32 0.01 0.04 ... 28.870724 41.998436\n", " * levlak (levlak) float32 0.05 0.6 2.1 ... 25.6 34.325 44.775\n", " * time (time) object 0030-02-01 00:00:00 ... 0031-01-01 00:00:00\n", "Dimensions without coordinates: cft, glc_nec, hist_interval, levsoi, ltype, natpft, nvegwcs\n", "Data variables:\n", " mcdate (time) int32 dask.array\n", " mcsec (time) int32 dask.array\n", " mdcur (time) int32 dask.array\n", " mscur (time) int32 dask.array\n", " nstep (time) int32 dask.array\n", " time_bounds (time, hist_interval) object dask.array\n", " date_written (time) |S16 dask.array\n", " time_written (time) |S16 dask.array\n", " area (time, lat, lon) float32 dask.array\n", " landfrac (time, lat, lon) float32 dask.array\n", " landmask (time, lat, lon) float64 dask.array\n", " pftmask (time, lat, lon) float64 dask.array\n", " nbedrock (time, lat, lon) float64 dask.array\n", " ATM_TOPO (time, lat, lon) float32 dask.array\n", " BCDEP (time, lat, lon) float32 dask.array\n", " BTRAN2 (time, lat, lon) float32 dask.array\n", " BTRANMN (time, lat, lon) float32 dask.array\n", " DSL (time, lat, lon) float32 dask.array\n", " DSTDEP (time, lat, lon) float32 dask.array\n", " DSTFLXT (time, lat, lon) float32 dask.array\n", " EFLXBUILD (time, lat, lon) float32 dask.array\n", " EFLX_DYNBAL (time, lat, lon) float32 dask.array\n", " EFLX_GRND_LAKE (time, lat, lon) float32 dask.array\n", " EFLX_LH_TOT (time, lat, lon) float32 dask.array\n", " EFLX_LH_TOT_R (time, lat, lon) float32 dask.array\n", " ELAI (time, lat, lon) float32 dask.array\n", " ERRH2O (time, lat, lon) float32 dask.array\n", " ERRH2OSNO (time, lat, lon) float32 dask.array\n", " ERRSEB (time, lat, lon) float32 dask.array\n", " ERRSOI (time, lat, lon) float32 dask.array\n", " ERRSOL (time, lat, lon) float32 dask.array\n", " ESAI (time, lat, lon) float32 dask.array\n", " FCEV (time, lat, lon) float32 dask.array\n", " FCOV (time, lat, lon) float32 dask.array\n", " FCTR (time, lat, lon) float32 dask.array\n", " FGEV (time, lat, lon) float32 dask.array\n", " FGR (time, lat, lon) float32 dask.array\n", " FGR12 (time, lat, lon) float32 dask.array\n", " FH2OSFC (time, lat, lon) float32 dask.array\n", " FIRA (time, lat, lon) float32 dask.array\n", " FIRA_R (time, lat, lon) float32 dask.array\n", " FIRE (time, lat, lon) float32 dask.array\n", " FIRE_R (time, lat, lon) float32 dask.array\n", " FLDS (time, lat, lon) float32 dask.array\n", " FPSN (time, lat, lon) float32 dask.array\n", " FSA (time, lat, lon) float32 dask.array\n", " FSAT (time, lat, lon) float32 dask.array\n", " FSDS (time, lat, lon) float32 dask.array\n", " FSDSND (time, lat, lon) float32 dask.array\n", " FSDSNDLN (time, lat, lon) float32 dask.array\n", " FSDSNI (time, lat, lon) float32 dask.array\n", " FSDSVD (time, lat, lon) float32 dask.array\n", " FSDSVDLN (time, lat, lon) float32 dask.array\n", " FSDSVI (time, lat, lon) float32 dask.array\n", " FSDSVILN (time, lat, lon) float32 dask.array\n", " FSH (time, lat, lon) float32 dask.array\n", " FSH_G (time, lat, lon) float32 dask.array\n", " FSH_PRECIP_CONVERSION (time, lat, lon) float32 dask.array\n", " FSH_R (time, lat, lon) float32 dask.array\n", " FSH_RUNOFF_ICE_TO_LIQ (time, lat, lon) float32 dask.array\n", " FSH_TO_COUPLER (time, lat, lon) float32 dask.array\n", " FSH_V (time, lat, lon) float32 dask.array\n", " FSM (time, lat, lon) float32 dask.array\n", " FSNO (time, lat, lon) float32 dask.array\n", " FSNO_EFF (time, lat, lon) float32 dask.array\n", " FSR (time, lat, lon) float32 dask.array\n", " FSRND (time, lat, lon) float32 dask.array\n", " FSRNDLN (time, lat, lon) float32 dask.array\n", " FSRNI (time, lat, lon) float32 dask.array\n", " FSRVD (time, lat, lon) float32 dask.array\n", " FSRVDLN (time, lat, lon) float32 dask.array\n", " FSRVI (time, lat, lon) float32 dask.array\n", " GSSHA (time, lat, lon) float32 dask.array\n", " GSSUN (time, lat, lon) float32 dask.array\n", " H2OCAN (time, lat, lon) float32 dask.array\n", " H2OSFC (time, lat, lon) float32 dask.array\n", " H2OSNO (time, lat, lon) float32 dask.array\n", " H2OSNO_TOP (time, lat, lon) float32 dask.array\n", " H2OSOI (time, levsoi, lat, lon) float32 dask.array\n", " HEAT_CONTENT1 (time, lat, lon) float32 dask.array\n", " HEAT_FROM_AC (time, lat, lon) float32 dask.array\n", " HIA (time, lat, lon) float32 dask.array\n", " HIA_R (time, lat, lon) float32 dask.array\n", " HIA_U (time, lat, lon) float32 dask.array\n", " HUMIDEX (time, lat, lon) float32 dask.array\n", " HUMIDEX_R (time, lat, lon) float32 dask.array\n", " HUMIDEX_U (time, lat, lon) float32 dask.array\n", " ICE_CONTENT1 (time, lat, lon) float32 dask.array\n", " JMX25T (time, lat, lon) float32 dask.array\n", " Jmx25Z (time, lat, lon) float32 dask.array\n", " LAISHA (time, lat, lon) float32 dask.array\n", " LAISUN (time, lat, lon) float32 dask.array\n", " LAKEICEFRAC_SURF (time, lat, lon) float32 dask.array\n", " LAKEICETHICK (time, lat, lon) float32 dask.array\n", " LIQCAN (time, lat, lon) float32 dask.array\n", " LIQUID_CONTENT1 (time, lat, lon) float32 dask.array\n", " LNC (time, lat, lon) float32 dask.array\n", " MEG_acetaldehyde (time, lat, lon) float32 dask.array\n", " MEG_acetic_acid (time, lat, lon) float32 dask.array\n", " MEG_acetone (time, lat, lon) float32 dask.array\n", " MEG_carene_3 (time, lat, lon) float32 dask.array\n", " MEG_ethanol (time, lat, lon) float32 dask.array\n", " MEG_formaldehyde (time, lat, lon) float32 dask.array\n", " MEG_isoprene (time, lat, lon) float32 dask.array\n", " MEG_methanol (time, lat, lon) float32 dask.array\n", " MEG_pinene_a (time, lat, lon) float32 dask.array\n", " MEG_thujene_a (time, lat, lon) float32 dask.array\n", " OCDEP (time, lat, lon) float32 dask.array\n", " PARVEGLN (time, lat, lon) float32 dask.array\n", " PBOT (time, lat, lon) float32 dask.array\n", " PCO2 (time, lat, lon) float32 dask.array\n", " PCT_CFT (time, cft, lat, lon) float32 dask.array\n", " PCT_GLC_MEC (time, glc_nec, lat, lon) float32 dask.array\n", " PCT_LANDUNIT (time, ltype, lat, lon) float32 dask.array\n", " PCT_NAT_PFT (time, natpft, lat, lon) float32 dask.array\n", " Q2M (time, lat, lon) float32 dask.array\n", " QBOT (time, lat, lon) float32 dask.array\n", " QCHARGE (time, lat, lon) float32 dask.array\n", " QDRAI (time, lat, lon) float32 dask.array\n", " QDRAI_PERCH (time, lat, lon) float32 dask.array\n", " QDRAI_XS (time, lat, lon) float32 dask.array\n", " QDRIP (time, lat, lon) float32 dask.array\n", " QFLOOD (time, lat, lon) float32 dask.array\n", " QFLX_DEW_GRND (time, lat, lon) float32 dask.array\n", " QFLX_DEW_SNOW (time, lat, lon) float32 dask.array\n", " QFLX_EVAP_TOT (time, lat, lon) float32 dask.array\n", " QFLX_ICE_DYNBAL (time, lat, lon) float32 dask.array\n", " QFLX_LIQ_DYNBAL (time, lat, lon) float32 dask.array\n", " QFLX_SNOW_DRAIN (time, lat, lon) float32 dask.array\n", " QFLX_SNOW_DRAIN_ICE (time, lat, lon) float32 dask.array\n", " QFLX_SUB_SNOW (time, lat, lon) float32 dask.array\n", " QH2OSFC (time, lat, lon) float32 dask.array\n", " QICE (time, lat, lon) float32 dask.array\n", " QICE_FRZ (time, lat, lon) float32 dask.array\n", " QICE_MELT (time, lat, lon) float32 dask.array\n", " QINFL (time, lat, lon) float32 dask.array\n", " QINTR (time, lat, lon) float32 dask.array\n", " QIRRIG (time, lat, lon) float32 dask.array\n", " QOVER (time, lat, lon) float32 dask.array\n", " QRGWL (time, lat, lon) float32 dask.array\n", " QRUNOFF (time, lat, lon) float32 dask.array\n", " QRUNOFF_ICE (time, lat, lon) float32 dask.array\n", " QRUNOFF_ICE_TO_COUPLER (time, lat, lon) float32 dask.array\n", " QRUNOFF_TO_COUPLER (time, lat, lon) float32 dask.array\n", " QSNOCPLIQ (time, lat, lon) float32 dask.array\n", " QSNOEVAP (time, lat, lon) float32 dask.array\n", " QSNOFRZ (time, lat, lon) float32 dask.array\n", " QSNOFRZ_ICE (time, lat, lon) float32 dask.array\n", " QSNOMELT (time, lat, lon) float32 dask.array\n", " QSNOMELT_ICE (time, lat, lon) float32 dask.array\n", " QSNO_TEMPUNLOAD (time, lat, lon) float32 dask.array\n", " QSNO_WINDUNLOAD (time, lat, lon) float32 dask.array\n", " QSNWCPICE (time, lat, lon) float32 dask.array\n", " QSOIL (time, lat, lon) float32 dask.array\n", " QSOIL_ICE (time, lat, lon) float32 dask.array\n", " QVEGE (time, lat, lon) float32 dask.array\n", " QVEGT (time, lat, lon) float32 dask.array\n", " RAIN (time, lat, lon) float32 dask.array\n", " RAIN_FROM_ATM (time, lat, lon) float32 dask.array\n", " RH2M (time, lat, lon) float32 dask.array\n", " RSSHA (time, lat, lon) float32 dask.array\n", " RSSUN (time, lat, lon) float32 dask.array\n", " SABG (time, lat, lon) float32 dask.array\n", " SABG_PEN (time, lat, lon) float32 dask.array\n", " SABV (time, lat, lon) float32 dask.array\n", " SMP (time, levgrnd, lat, lon) float32 dask.array\n", " SNOBCMCL (time, lat, lon) float32 dask.array\n", " SNOBCMSL (time, lat, lon) float32 dask.array\n", " SNOCAN (time, lat, lon) float32 dask.array\n", " SNODSTMCL (time, lat, lon) float32 dask.array\n", " SNODSTMSL (time, lat, lon) float32 dask.array\n", " SNOFSRND (time, lat, lon) float32 dask.array\n", " SNOFSRNI (time, lat, lon) float32 dask.array\n", " SNOFSRVD (time, lat, lon) float32 dask.array\n", " SNOFSRVI (time, lat, lon) float32 dask.array\n", " SNOINTABS (time, lat, lon) float32 dask.array\n", " SNOOCMCL (time, lat, lon) float32 dask.array\n", " SNOOCMSL (time, lat, lon) float32 dask.array\n", " SNOTXMASS (time, lat, lon) float32 dask.array\n", " SNOUNLOAD (time, lat, lon) float32 dask.array\n", " SNOW (time, lat, lon) float32 dask.array\n", " SNOWDP (time, lat, lon) float32 dask.array\n", " SNOWICE (time, lat, lon) float32 dask.array\n", " SNOWLIQ (time, lat, lon) float32 dask.array\n", " SNOW_DEPTH (time, lat, lon) float32 dask.array\n", " SNOW_FROM_ATM (time, lat, lon) float32 dask.array\n", " SNOW_PERSISTENCE (time, lat, lon) timedelta64[ns] dask.array\n", " SNOW_SINKS (time, lat, lon) float32 dask.array\n", " SNOW_SOURCES (time, lat, lon) float32 dask.array\n", " SOILICE (time, levsoi, lat, lon) float32 dask.array\n", " SOILLIQ (time, levsoi, lat, lon) float32 dask.array\n", " SOILRESIS (time, lat, lon) float32 dask.array\n", " SOILWATER_10CM (time, lat, lon) float32 dask.array\n", " SWBGT (time, lat, lon) float32 dask.array\n", " SWBGT_R (time, lat, lon) float32 dask.array\n", " SWBGT_U (time, lat, lon) float32 dask.array\n", " TAUX (time, lat, lon) float32 dask.array\n", " TAUY (time, lat, lon) float32 dask.array\n", " TBOT (time, lat, lon) float32 dask.array\n", " TBUILD (time, lat, lon) float32 dask.array\n", " TG (time, lat, lon) float32 dask.array\n", " TH2OSFC (time, lat, lon) float32 dask.array\n", " THBOT (time, lat, lon) float32 dask.array\n", " TKE1 (time, lat, lon) float32 dask.array\n", " TLAI (time, lat, lon) float32 dask.array\n", " TLAKE (time, levlak, lat, lon) float32 dask.array\n", " TOTSOILICE (time, lat, lon) float32 dask.array\n", " TOTSOILLIQ (time, lat, lon) float32 dask.array\n", " TPU25T (time, lat, lon) float32 dask.array\n", " TREFMNAV (time, lat, lon) float32 dask.array\n", " TREFMXAV (time, lat, lon) float32 dask.array\n", " TSA (time, lat, lon) float32 dask.array\n", " TSAI (time, lat, lon) float32 dask.array\n", " TSOI (time, levgrnd, lat, lon) float32 dask.array\n", " TSOI_10CM (time, lat, lon) float32 dask.array\n", " TSOI_ICE (time, levgrnd, lat, lon) float32 dask.array\n", " TV (time, lat, lon) float32 dask.array\n", " TWS (time, lat, lon) float32 dask.array\n", " U10 (time, lat, lon) float32 dask.array\n", " U10_DUST (time, lat, lon) float32 dask.array\n", " URBAN_AC (time, lat, lon) float32 dask.array\n", " URBAN_HEAT (time, lat, lon) float32 dask.array\n", " VCMX25T (time, lat, lon) float32 dask.array\n", " VEGWP (time, nvegwcs, lat, lon) float32 dask.array\n", " VOLR (time, lat, lon) float32 dask.array\n", " VOLRMCH (time, lat, lon) float32 dask.array\n", " Vcmx25Z (time, lat, lon) float32 dask.array\n", " WA (time, lat, lon) float32 dask.array\n", " WASTEHEAT (time, lat, lon) float32 dask.array\n", " WBT (time, lat, lon) float32 dask.array\n", " WBT_R (time, lat, lon) float32 dask.array\n", " WBT_U (time, lat, lon) float32 dask.array\n", " WIND (time, lat, lon) float32 dask.array\n", " ZBOT (time, lat, lon) float32 dask.array\n", " ZWT (time, lat, lon) float32 dask.array\n", " ZWT_PERCH (time, lat, lon) float32 dask.array\n", "Attributes:\n", " title: CLM History file information\n", " comment: NOTE: None of the variables ar...\n", " Conventions: CF-1.0\n", " history: created on 01/24/20 17:02:25\n", " source: Community Land Model CLM4.0\n", " hostname: cheyenne\n", " username: kdagon\n", " version: unknown\n", " revision_id: $Id: histFileMod.F90 42903 201...\n", " case_title: UNSET\n", " case_id: hydro_ensemble_default_params\n", " Surface_dataset: surfdata_4x5_16pfts_Irrig_CMIP...\n", " Initial_conditions_dataset: finidat_interp_dest.nc\n", " PFT_physiological_constants_dataset: clm5_params.c171117.nc\n", " ltype_vegetated_or_bare_soil: 1\n", " ltype_crop: 2\n", " ltype_UNUSED: 3\n", " ltype_landice_multiple_elevation_classes: 4\n", " ltype_deep_lake: 5\n", " ltype_wetland: 6\n", " ltype_urban_tbd: 7\n", " ltype_urban_hd: 8\n", " ltype_urban_md: 9\n", " ctype_vegetated_or_bare_soil: 1\n", " ctype_crop: 2\n", " ctype_crop_noncompete: 2*100+m, m=cft_lb,cft_ub\n", " ctype_landice: 3\n", " ctype_landice_multiple_elevation_classes: 4*100+m, m=1,glcnec\n", " ctype_deep_lake: 5\n", " ctype_wetland: 6\n", " ctype_urban_roof: 71\n", " ctype_urban_sunwall: 72\n", " ctype_urban_shadewall: 73\n", " ctype_urban_impervious_road: 74\n", " ctype_urban_pervious_road: 75\n", " cft_c3_crop: 1\n", " cft_c3_irrigated: 2\n", " time_period_freq: month_1\n", " Time_constant_3Dvars_filename: ./hydro_ensemble_default_param...\n", " Time_constant_3Dvars: ZSOI:DZSOI:WATSAT:SUCSAT:BSW:H..." ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fils_in = xr.open_mfdataset(file_path+'*.clm2.h0.00'+str(model_yr)+'*.nc', combine='by_coords')\n", "fils_in" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pull out a specific output variable" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "dask.array\n", "Coordinates:\n", " * lon (lon) float32 0.0 5.0 10.0 15.0 20.0 ... 340.0 345.0 350.0 355.0\n", " * lat (lat) float32 -90.0 -86.0 -82.0 -78.0 -74.0 ... 78.0 82.0 86.0 90.0\n", " * time (time) object 0030-02-01 00:00:00 ... 0031-01-01 00:00:00\n", "Attributes:\n", " long_name: 2m air temperature\n", " units: K\n", " cell_methods: time: mean" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA = fils_in.TSA # this is now a DataArray of 2m air temperature\n", "TSA" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Annual mean to make calculations simpler" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "TSA_amean = TSA.mean(dim='time')\n", "TSA_amean.plot(robust=True);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Get gridcell areas and landfrac" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# Just pull the first time index since these are time-invariant fields\n", "area = fils_in.area[0]\n", "landfrac = fils_in.landfrac[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Calculate area weights" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "arwt = area * landfrac" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# re-assign long_name attribute\n", "arwt.attrs['long_name'] = 'grid cell areas multiplied by landfrac'" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# quick plot of area weights\n", "arwt.plot(robust=True);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Normalize arwt: 2 methods!" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "dask.array\n", "Coordinates:\n", " * lon (lon) float32 0.0 5.0 10.0 15.0 20.0 ... 340.0 345.0 350.0 355.0\n", " * lat (lat) float32 -90.0 -86.0 -82.0 -78.0 -74.0 ... 78.0 82.0 86.0 90.0\n", " time object 0030-02-01 00:00:00\n", "Attributes:\n", " long_name: area weights normalized by sum\n", " units: " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# normalize by sum of area weights\n", "arwt_norm_sum = arwt/arwt.sum()\n", "arwt_norm_sum.attrs['long_name'] = 'area weights normalized by sum'\n", "arwt_norm_sum.attrs['units'] = ''\n", "arwt_norm_sum" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "arwt_norm_sum.plot(robust=True);" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "dask.array\n", "Coordinates:\n", " * lon (lon) float32 0.0 5.0 10.0 15.0 20.0 ... 340.0 345.0 350.0 355.0\n", " * lat (lat) float32 -90.0 -86.0 -82.0 -78.0 -74.0 ... 78.0 82.0 86.0 90.0\n", " time object 0030-02-01 00:00:00\n", "Attributes:\n", " long_name: area weights normalized by max\n", " units: " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# normalize by maximum of area weights\n", "arwt_norm_max = arwt/arwt.max()\n", "arwt_norm_max.attrs['long_name'] = 'area weights normalized by max'\n", "arwt_norm_max.attrs['units'] = ''\n", "arwt_norm_max" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "arwt_norm_max.plot(robust=True);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Global Means" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Start with both methods of normalized arwt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Needed some help getting scalar output from 2D weighted means function: https://github.com/NCAR/esmlab/issues/28 \\\n", "This is the purpose of `.load().values`" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(283.07242, dtype=float32)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_glob_mean_arwt_sum = esmlab.statistics.weighted_mean(TSA_amean, dim=['lat','lon'], weights=arwt_norm_sum).load().values\n", "TSA_glob_mean_arwt_sum" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(283.07245, dtype=float32)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_glob_mean_arwt_max = esmlab.statistics.weighted_mean(TSA_amean, dim=['lat','lon'], weights=arwt_norm_max).load().values\n", "TSA_glob_mean_arwt_max" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Try with non-normalized areas" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(283.07245, dtype=float32)" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_glob_mean_arwt = esmlab.statistics.weighted_mean(TSA_amean, dim=['lat','lon'], weights=arwt).load().values\n", "TSA_glob_mean_arwt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Result is the same as normalizing by the maximum" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Try with area only (no landfrac)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(284.36517, dtype=float32)" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_glob_mean_arwt_nolf = esmlab.statistics.weighted_mean(TSA_amean, dim=['lat','lon'], weights=area).load().values\n", "TSA_glob_mean_arwt_nolf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generate weights using cosine of latitudes" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "lats = fils_in.lat" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# np.cos expects input in radians\n", "cwt = np.cos(lats * np.pi / 180.)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(279.76453, dtype=float32)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# NOTE: this doesn't account for landfrac...but how to do that when cwt is indexed only by latitude?\n", "TSA_glob_mean_cwt = esmlab.statistics.weighted_mean(TSA_amean, dim=['lat'], weights=cwt).mean().values\n", "TSA_glob_mean_cwt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### TO DO: Generate Gaussian weights, similar to CAM output variable" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Most straightforward solution is probably to figure out how to write or convert the NCL `gaus` function to python:\\\n", "https://www.ncl.ucar.edu/Document/Functions/Built-in/gaus.shtml" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Calculate the area element in spherical coordinates" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is based on the python tutorial xarray notebook:\\\n", "https://github.com/ncar-hackathons/hands-on-examples/blob/master/scientific-computing/xarray.ipynb" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The [area element for lat-lon coordinates](https://en.wikipedia.org/wiki/Spherical_coordinate_system#Integration_and_differentiation_in_spherical_coordinates) is\n", "\n", "$$ \\delta A = R^2 \\delta \\phi \\delta \\lambda \\cos(\\phi) $$\n", "\n", "where $\\phi$ is latitude, $\\delta \\phi$ is the spacing of the points in latitude, $\\delta \\lambda$ is the spacing of the points in longitude, and $R$ is Earth's radius. (In this formula, $\\phi$ and $\\lambda$ are measured in radians.) Let's use xarray to create the weight factor." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "R = 6.37e6\n", "# we know already that the spacing of the points is 4 degrees latitude, 5 degrees longitude\n", "dϕ = np.deg2rad(4.)\n", "dλ = np.deg2rad(5.)\n", "dA = R**2 * dϕ * dλ * np.cos(np.deg2rad(lats))\n", "dA.plot();" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "dask.array\n", "Coordinates:\n", " * lat (lat) float32 -90.0 -86.0 -82.0 -78.0 -74.0 ... 78.0 82.0 86.0 90.0\n", " * lon (lon) float32 0.0 5.0 10.0 15.0 20.0 ... 340.0 345.0 350.0 355.0" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dA.where(TSA_amean.notnull())" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pixel_area = dA.where(TSA_amean.notnull())\n", "pixel_area.plot(robust=True);\n", "# why are there negative values in the colorbar?" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(284.4086, dtype=float32)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# NOTE: this also doesn't account for landfrac...\n", "total_land_area = pixel_area.sum(dim=['lat', 'lon'])\n", "TSA_glob_mean_ae = ((TSA_amean * pixel_area).sum(dim=['lat', 'lon']) / total_land_area).values\n", "TSA_glob_mean_ae" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Try again, accounting for landfrac" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pixel_area_lf = dA.where(TSA_amean.notnull())*landfrac\n", "pixel_area_lf.plot(robust=True);" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(283.12924, dtype=float32)" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "total_land_area_lf = pixel_area_lf.sum(dim=['lat', 'lon'])\n", "TSA_glob_mean_ae_lf = ((TSA_amean * pixel_area_lf).sum(dim=['lat', 'lon']) / total_land_area_lf).values\n", "TSA_glob_mean_ae_lf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now the result is closer to arwt methods" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### NCL-based weighted mean function" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Via GeoCAT: https://geocat-examples.readthedocs.io/en/latest/gallery/XY/NCL_xy_18.html#ncl-based-weighted-mean-function " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This function is equivalent to esmlab weighted mean, and result will vary similarly depending on choice of weights" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "def horizontal_weighted_mean(var, wgts):\n", " return (var * wgts).sum(dim=['lat', 'lon']) / wgts.sum(dim=['lat', 'lon'])" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(283.07242, dtype=float32)" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_glob_mean_geocat_sum = horizontal_weighted_mean(TSA_amean, arwt_norm_sum).values\n", "TSA_glob_mean_geocat_sum" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(283.07245, dtype=float32)" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_glob_mean_geocat_max = horizontal_weighted_mean(TSA_amean, arwt_norm_max).values\n", "TSA_glob_mean_geocat_max" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Without normalizing weights" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(283.07245, dtype=float32)" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_glob_mean_geocat = horizontal_weighted_mean(TSA_amean, arwt).values\n", "TSA_glob_mean_geocat" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Without landfrac" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(284.36517, dtype=float32)" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_glob_mean_geocat_nolf = horizontal_weighted_mean(TSA_amean, area).values\n", "TSA_glob_mean_geocat_nolf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot results so far" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "image/png": "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Q7QkSZJUUbuF6Ii4OCJmRcQjjab9KCIej4iHIuL6iNigveqRJEmSWqs9e6IvAcYsNe1WYEhmDgOeBL7djvVIkiRJrdJuIToz7wReXmraXzJzUXn3XqBve9UjSZIktVY9jYk+HPhzRxchSZIkrUhdhOiI+A6wCLh8OcscFRETImLC7Nmz2684SZIkaSkdHqIj4rPAJ4CDMjObWy4zL8jMUZk5qlevXu1XoCRJkrSUrh2584gYA3wT2DUzX+/IWiRJkqSWas9L3F0J3ANsHREzIuII4GfA+sCtETE5Is5vr3okSWpvhx9+OL1792bIkCEN066++moGDx7MGmuswYQJE5pc77nnnmP33Xdn0KBBDB48mHPOOadh3vjx49lss80YPnw4w4cP56abbgJg4cKFfPazn2Xo0KEMGjSIH/zgBw3rvPnmmxx11FG8733vY+DAgVx77bU1OmJp1dWeV+cYl5l9MnPNzOybmRdl5nszc/PMHF7+HN1e9UhafdUiyDS3/rRp01hnnXUaAs7RR7/zZ+473/kOm2++Oeutt94S+znuuOMaln/f+97HBht4Cf1VxaGHHsrNN9+8xLQhQ4Zw3XXXMXr06GbX69q1K2eeeSZTpkzh3nvv5bzzzuOxxx5rmH/ccccxefJkJk+ezF577QUU5+SCBQt4+OGHmThxIr/4xS+YNm0aAKeeeiq9e/fmySef5LHHHmPXXXdt+4OVVnEdOpxDkjrCoYceyjHHHMMhhxzSMG1xkPn85z/f7HqLg8yIESOYN28eI0eO5MMf/jDbbLPNctffcsstmTx58jLT9957b4455hi22mqrJab/5Cc/abh97rnnMmnSpNYcpurQ6NGjG4LsYoMGDVrhen369KFPnz4ArL/++gwaNIh//etfbLPNNs2uExHMnz+fRYsW8Z///Idu3brRo0cPAC6++GIef/xxANZYYw169uzZyiOSVl8d/sFCSWpvo0ePZqONNlpi2qBBg9h6662Xu16fPn0YMWIEsGSQaen6S9thhx0aglFzrrzySsaNG1dpu1q1TZs2jUmTJrH99ts3TPvZz37GsGHDOPzww5kzZw4AY8eOZd1116VPnz7069eP448/no022oi5c+cCcOKJJzJixAgOPPBAXnjhhQ45FqkzM0RLUis0FWSaM3XqVLbbbjt23XVX7rrrrhbvY/r06UydOpU99thjZUrVKuS1117jgAMO4Oyzz27oVf7CF77AP//5TyZPnkyfPn34+te/DsD9999Ply5dmDlzJlOnTuXMM8/kmWeeYdGiRcyYMYOddtqJBx54gB133JHjjz++Iw9L6pQM0ZJUUVNBpjl9+vTh2WefZdKkSZx11ll8+tOf5tVXX23Rfq666irGjh1Lly5d2qJsdXILFy7kgAMO4KCDDmL//fdvmL7JJpvQpUsX1lhjDT73uc9x//33A3DFFVcwZswY1lxzTXr37s1OO+3EhAkT2HjjjenevTv77bcfAAceeCAPPPBAhxyT1JkZoiWpguaCTHPWWmstNt54YwBGjhzJlltuyZNPPtmifV111VUO5RAAmckRRxzBoEGD+NrXvrbEvOeff77h9vXXX9/wgdl+/fpx++23k5nMnz+fe++9l4EDBxIR7L333txxxx0A3HbbbcsdWy2paYZoSWqh5QWZ5syePZu33noLgGeeeYannnqKAQMGrHC9J554gjlz5rDjjjuuVM2qL+PGjWPHHXfkiSeeoG/fvlx00UVcf/319O3bl3vuuYePf/zjfPSjHwVg5syZDVfa+Pvf/85ll13G7bffvsyl7E444QSGDh3KsGHD+Otf/9rwwdQvfelLvPbaawwZMoT3v//9HHbYYQwbNgyAM844g/HjxzNs2DAuu+wyzjzzzA5oDalzi+V8SWDdGjVqVDZ3CSpJWpFx48Zxxx138OKLL7LJJptw8skns9FGG/HlL3+Z2bNns8EGGzB8+HBuueUWZs6cyZFHHslNN93E3XffzS677MLQoUNZY42iD+K0005jr7324vrrr29y/WuvvZaTTjqJrl270qVLF04++WT23ntvoAg/V1xxBTNnzuTd7343Rx55JOPHjweKa/++8cYbnH766R3VTJIkICImZuaoZaYboiVJkqSmNReiHc4hSZIkVWSIliRJkioyREuSJEkVGaIlSZKkigzRkiRJUkVdO7oASZI6tejT0RV0jHx+xctIqzBDtKRVj6FGklRjDueQJEmSKjJES5IkSRUZoiVJkqSKDNGSJElSRYZoSZIkqSJDtCRJklSRIVqSJEmqyBAtSZIkVWSIliRJkioyREuSJEkVGaIlSZKkigzRkiRJUkWGaEmSJKkiQ7QkSZJUkSFakiRJqsgQLUmSJFVkiJYkSXXvnHPOYciQIQwePJizzz57mflz5sxhv/32Y9iwYXzgAx/gkUceAeCJJ55g+PDhDT89evRoWP/BBx9kxx13ZOjQoey99968+uqrANx6662MHDmSoUOHMnLkSG6//fZl9rfPPvswZMiQGh6x6p0huoZa+4R/7rnn2H333Rk0aBCDBw/mnHPOaVjnG9/4BgMHDmTYsGHst99+zJ07d4ltPvvss6y33nr8+Mc/BuD111/n4x//OAMHDmTw4MF861vfquERt516aDuA3Xbbja233rrhj++sWbNqdMRtw3aTtCp65JFH+OUvf8n999/Pgw8+yB//+EeeeuqpJZY57bTTGD58OA899BCXXnopxx57LABbb701kydPZvLkyUycOJHu3buz3377AXDkkUdy+umn8/DDD7Pffvvxox/9CICePXvyhz/8gYcffphf//rXHHzwwUvs67rrrmO99dZrhyNfef5fqKHM7HQ/I0eOzHr38MMP5+DBg3P+/Pm5cOHC3HPPPfPJJ59cYpnjjz8+x48fn5mZU6ZMyT322CMzM2fOnJkTJ07MzMxXX301t9pqq3z00UczM/OWW27JhQsXZmbmCSeckCeccMIS29x///1z7Nix+aMf/SgzM+fPn5+33357ZmYuWLAgd95557zppptqdNRto17aLjNz1113zX/84x+1OdA2Zrs1wqar5486Rkc/7qvB+fa73/0ujzjiiIb73/ve9/KMM85YYpm99tor77rrrob7AwYMyH//+99LLHPLLbfkBz/4wYb766+/fr799tuZmfnss8/moEGDltn322+/nRtttFG+8cYbmZk5b9683GmnnfLRRx/NwYMHr/zB1ZD/F9oGMCFz2TxqT3SNTJkyhR122IHu3bvTtWtXdt11V66//vollnnsscfYc889ARg4cCDTpk3jhRdeoE+fPowYMQKA9ddfn0GDBvGvf/0LgI985CN07doVgB122IEZM2Y0bO+GG25gwIABDB48uGFa9+7d2X333QHo1q0bI0aMWGKdelQvbdfZ2G6SVlVDhgzhzjvv5KWXXuL111/npptu4rnnnltimW233ZbrrrsOgPvvv5/p06cv8//uqquuYty4cUts98YbbwTg6quvXmabANdeey3bbbcda621FgAnnngiX//61+nevXubHmMt+H+htgzRNdJWT/hp06YxadIktt9++2X2cfHFF/Oxj30MgPnz53PGGWfw3e9+t9ma5s6dyx/+8IeGJ0u9qre2O+ywwxg+fDinnHIKxQvS+mS7SVpVDRo0iG9+85t8+MMfZsyYMWy77bYNIW6xb33rW8yZM4fhw4dz7rnnst122y2xzJtvvsmNN97IgQce2DDt4osv5rzzzmPkyJHMmzePbt26LbHNRx99lG9+85v84he/AGDy5Mk8/fTTDcNB6p3/F2qr64oXUWs0fsKvt956zT7hjz32WIYPH87QoUOXecK/9tprHHDAAZx99tn06NFjiXVPPfVUunbtykEHHQTAd7/7XY477rhmx2gtWrSIcePG8ZWvfIUBAwa08dG2rXpqu8svv5zNNtuMefPmccABB3DZZZdxyCGH1OCoV57tJmlVdsQRR3DEEUcA8D//8z/07dt3ifk9evTgV7/6FVAMVX3Pe97De97znob5f/7znxkxYgSbbLJJw7SBAwfyl7/8BYAnn3ySP/3pTw3zZsyYwX777cell17KlltuCcA999zDxIkT6d+/P4sWLWLWrFnstttu3HHHHTU55pXl/4Uaa2qMR73/dIYx0Uv79re/needd16z899+++3cYost8pVXXsnMzDfffDM/8pGP5JlnnrnMspdccknusMMOOX/+/IZpO++8c26xxRa5xRZb5Lve9a7ccMMN89xzz22Yf9hhh+WXv/zlNjyi9tPRbbfYr371q/zSl77UBkfUPlbrduvosaKrwRhVNdLRj/tqcr698MILmZk5ffr03HrrrfPll19eYv6cOXNywYIFmZl5wQUX5MEHH7zE/P/+7//Oiy++uMltvvXWW3nwwQfnRRdd1LCtYcOG5TXXXNNsPVOnTq37MdFLW63/L6wEmhkTbU90Dc2aNYvevXvz7LPPct1113HPPfcsMX/u3Ll0796dbt26ceGFFzJ69Gh69OhBZnLEEUcwaNAgvva1ry2xzs0338wZZ5zB3/72tyXGY911110Nt8ePH896663HMcccA8D//u//8sorr3DhhRfW8GjbVj203aJFi5g7dy49e/Zk4cKF/PGPf+RDH/pQbQ98JdluklZVBxxwAC+99BJrrrkm5513HhtuuCHnn38+AEcffTRTpkzhkEMOoUuXLmyzzTZcdNFFDeu+/vrr3HrrrQ3DMha78sorOe+88wDYf//9OeywwwD42c9+xtNPP80pp5zCKaecAsBf/vIX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xjrrrMPw4cMZPnw4Rx99dMOyY8aMYdttt2Xw4MEcffTRvPXWW218pJK0rCofLCQiNgS2oviyFQAy8862LkqSVP+OPfZYxowZwzXXXMObb77J66+/vsT8uXPn8sUvfpGbb76Zfv36MWvWrIZ5hx56KMcccwyHHHLIMtt97rnnuPXWW+nXr98S07fccksmT568zPK/+93v6NGjB5nJ2LFjufrqq/nUpz7VRkcpSU1r8QcLI+JI4E7gFuDk8vf42pQlSapnr776KnfeeSdHHHEEAN26dWODDTZYYpkrrriC/fffvyEM9+7du2He6NGj2VWf710AABcWSURBVGijjZrc9nHHHccPf/hDIqJFtfTo0QOARYsW8eabb7Z4PUlaGVWuznEs8H5gembuDmwHzK5JVZKkuvbMM8/Qq1cvDjvsMLbbbjuOPPJI5s+fv8QyTz75JHPmzGG33XZj5MiRXHrppSvc7o033shmm23Gtttuu8y8qVOnst1227Hrrrty1113LTHvox/9KL1792b99ddn7NixK3dwktQCVUL0G5n5BkBErJWZjwNb16YsSVI9W7RoEQ888ABf+MIXmDRpEuuuuy6nn376MstMnDiRP/3pT9xyyy2ccsopPPnkk81u8/XXX+fUU0/le99b9nu8+vTpw7PPPsukSZM466yz+PSnP82rr77aMP+WW27h+eefZ8GCBdx+++1td6CS1IwqIXpGRGwA3ADcGhG/B2bWpixJUj3r27cvffv2Zfvttwdg7NixPPDAA8ssM2bMGNZdd1169uzJ6NGjefDBB5vd5j//+U+mTp3KtttuS//+/ZkxYwYjRozg3//+N2uttRYbb7wxACNHjmTLLbdcJpCvvfba7LPPPvz+979v46OVpGW1KERHMcDsK5k5NzPHAycCFwGfrGFtkqQ6temmm7L55pvzxBNPAHDbbbexzTbbLLHMvvvuy1133cWiRYt4/fXXue+++xg0aFCz2xw6dCizZs1i2rRpTJs2jb59+/LAAw+w6aabMnv27IarbjzzzDM89dRTDBgwgNdee43nn38eKHq+b7rpJgYOHFijo5akd7To6hyZmRFxAzCyvP+3mlYlSap75557LgcddBBvvvkmAwYM4Fe/+hXnn38+AEcffTSDBg1izJgxDBs2jDXWWIMjjzyy4ZJ248aN44477uDFF1+kb9++nHzy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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(12,6))\n", "means = [TSA_glob_mean_arwt_sum, TSA_glob_mean_arwt_max, TSA_glob_mean_arwt, TSA_glob_mean_arwt_nolf, TSA_glob_mean_cwt, TSA_glob_mean_ae, TSA_glob_mean_ae_lf, TSA_glob_mean_geocat]\n", "x = np.arange(len(means))\n", "means_c = [m - 273.15 for m in means]\n", "\n", "# color code bars based on value - though hard to distinguish close values\n", "from matplotlib import cm\n", "color_vals = np.array(means_c)\n", "colors = cm.hsv(color_vals / float(max(color_vals)))\n", "\n", "bar_plot = plt.bar(x,means_c,color = colors)\n", "plt.title(\"Comparing Global Mean Methods\")\n", "plt.ylabel(\"2m air temperature ($\\degree$C)\")\n", "plt.xticks(x, ('arwt sum','arwt max', 'arwt no norm', 'area no lf', 'cos lat', 'area element', 'area element lf', 'geocat'))\n", "\n", "# add text labels\n", "labels_plot = [round(m, 5) for m in means_c] # round to 4 decimal places\n", "def autolabel(rects):\n", " for idx,rect in enumerate(bar_plot):\n", " height = rect.get_height()\n", " ax.text(rect.get_x() + rect.get_width()/2., 1.02*height,\n", " labels_plot[idx],\n", " ha='center', va='bottom', rotation=0)\n", "\n", "autolabel(bar_plot)\n", "\n", "plt.ylim(0,13);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sidenote: global mean TSA values may seem low, but these are land only averages" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Another way to plot: points instead of bars\n", "plt.figure(figsize=(12,6))\n", "plt.plot(means_c, 'mo')\n", "plt.title(\"Comparing Global Mean Methods\")\n", "plt.ylabel(\"2m air temperature ($\\degree$C)\")\n", "plt.xticks(x, ('arwt sum','arwt max','arwt no norm','area no lf', 'cos lat', 'area element', 'area element lf', 'geocat'));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Regional Means" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Define regional box" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "# Most of CONUS\n", "lat_min = 30\n", "lat_max = 50\n", "lon_min = 230\n", "lon_max = 290" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "dask.array\n", "Coordinates:\n", " * lon (lon) float32 230.0 235.0 240.0 245.0 ... 275.0 280.0 285.0 290.0\n", " * lat (lat) float32 30.0 34.0 38.0 42.0 46.0 50.0\n", "Attributes:\n", " long_name: 2m air temperature\n", " units: K\n", " cell_methods: time: mean" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_amean_US = TSA_amean.sel(lat=slice(lat_min,lat_max), lon=slice(lon_min,lon_max))\n", "TSA_amean_US" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### arwt (2 normalization methods)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(283.41443, dtype=float32)" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_US_mean_arwt_sum = esmlab.statistics.weighted_mean(TSA_amean_US, dim=['lat','lon'], weights=arwt_norm_sum.sel(lat=slice(lat_min,lat_max),lon=slice(lon_min,lon_max))).load().values\n", "TSA_US_mean_arwt_sum" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(283.4144, dtype=float32)" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_US_mean_arwt_max = esmlab.statistics.weighted_mean(TSA_amean_US, dim=['lat','lon'], weights=arwt_norm_max.sel(lat=slice(lat_min,lat_max),lon=slice(lon_min,lon_max))).load().values\n", "TSA_US_mean_arwt_max" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### arwt no normalization" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(283.41446, dtype=float32)" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_US_mean_arwt = esmlab.statistics.weighted_mean(TSA_amean_US, dim=['lat','lon'], weights=arwt.sel(lat=slice(lat_min,lat_max),lon=slice(lon_min,lon_max))).load().values\n", "TSA_US_mean_arwt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### area only no landfrac" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(284.4153, dtype=float32)" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_US_mean_arwt_nolf = esmlab.statistics.weighted_mean(TSA_amean_US, dim=['lat','lon'], weights=area.sel(lat=slice(lat_min,lat_max),lon=slice(lon_min,lon_max))).load().values\n", "TSA_US_mean_arwt_nolf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### cwt" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(284.19653, dtype=float32)" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_US_mean_cwt = esmlab.statistics.weighted_mean(TSA_amean_US, dim=['lat'], weights=cwt.sel(lat=slice(lat_min,lat_max))).mean().values\n", "TSA_US_mean_cwt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### area element" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "CONUS_pixel_area = pixel_area.sel(lat=slice(lat_min,lat_max),lon=slice(lon_min,lon_max))\n", "CONUS_pixel_area.plot(robust=True)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "CONUS_land_area = CONUS_pixel_area.sum(dim=['lat', 'lon'])" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(284.4153, dtype=float32)" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_US_mean_ae = ((TSA_amean_US * CONUS_pixel_area).sum(dim=['lat', 'lon']) / CONUS_land_area).values\n", "TSA_US_mean_ae" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### area element with landfrac" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "CONUS_pixel_area_lf = CONUS_pixel_area*landfrac.sel(lat=slice(lat_min,lat_max),lon=slice(lon_min,lon_max))\n", "CONUS_pixel_area_lf.plot(robust=True);" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(283.4145, dtype=float32)" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "CONUS_land_area_lf = CONUS_pixel_area_lf.sum(dim=['lat', 'lon'])\n", "TSA_US_mean_ae_lf = ((TSA_amean_US * CONUS_pixel_area_lf).sum(dim=['lat', 'lon']) / CONUS_land_area_lf).values\n", "TSA_US_mean_ae_lf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### GeoCAT function" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(283.41443, dtype=float32)" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_US_mean_geocat_sum = horizontal_weighted_mean(TSA_amean_US, arwt_norm_sum.sel(lat=slice(lat_min,lat_max),lon=slice(lon_min,lon_max))).values\n", "TSA_US_mean_geocat_sum" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(283.4144, dtype=float32)" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_US_mean_geocat_max = horizontal_weighted_mean(TSA_amean_US, arwt_norm_max.sel(lat=slice(lat_min,lat_max),lon=slice(lon_min,lon_max))).values\n", "TSA_US_mean_geocat_max" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(283.41446, dtype=float32)" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_US_mean_geocat = horizontal_weighted_mean(TSA_amean_US, arwt.sel(lat=slice(lat_min,lat_max),lon=slice(lon_min,lon_max))).values\n", "TSA_US_mean_geocat" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(284.4153, dtype=float32)" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TSA_US_mean_geocat_nolf = horizontal_weighted_mean(TSA_amean_US, area.sel(lat=slice(lat_min,lat_max),lon=slice(lon_min,lon_max))).values\n", "TSA_US_mean_geocat_nolf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot results" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "image/png": "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r73Yb7/92HPPPReUDx06lD333JOI4L3vfS/9+vVj7ty5LL/88qy11loAbLbZZqy//vpMmzZtoW2usMIK7Lbbblx++eXdeixqfp5vUvMyiZakOmUmBx98MCNGjODII49caN4ee+yxoGVv2rRpvP766wwYMIA5c+YsGAXhX//6F9OnT2e99dbj5ZdfZtasWUDRqnjVVVfxnve8p3sPqKKOjjIBcPXVVzN8+HDe/e53c8IJJywy/+STTyYimDt37oKyKVOmsNVWWzFq1ChGjx7Nq6++CsB2223H8OHDF4xAMXv2bADOOussRo8ezdixY9l666154IEHuurQe0RfP9+kptfW1YbN/nB0Dkmdsffee+fb3/727N+/fw4ZMiR/+ctf5iWXXJJDhgzJ5ZZbLgcNGpQf/vCHMzPzySefzJ133jkzMydOnJhAjh49OseMGZNjxozJK6+8MjMzX3vttdxvv/1y1KhRuckmm+R1112XmZkXXXRRjhw5MjfeeOPcZJNN8oorrsjMzKeeeirHjRuXo0ePzpEjR+bnPve5nDdvXmZm/v3vf88hQ4bkSiutlGuuuWaOHDmyu6uoTR0dZWL+/Pm53nrr5cMPP5yvvfZabrzxxgtGmcjMfOyxx/LDH/5wrrvuujlnzpzMzJw3b16OHj0677nnnszMnDt3bs6fPz8zc7H7ahl9IjPz8ssvzx133LHzB90FPN+k3o3FjM4RufibBDatcePG5ZJaPCRJjTFjxgx23XVX7r///oXKt9tuO04++WTGjRu3yDq33XYbxx57LNdccw0Axx9/PADf+MY3APj4xz/O0Ucfze67786kSZMYMGAAV111Fb/97W85//zzF9nekvbV4sILL+Tcc8/lL3/5S4ePVZIAImJyZi7ygWN3DklSQz355JO84x3vWPB86NChPPnkkwBcccUVDBkyhDFjxiy0zrRp04gIdtxxRzbddFN+9KMfLTT/wAMPZOzYsXz/+9+ntjHozDPPZP3112fChAmcfvrpDTwqSX2dSbQkqaHa+sUzIvj3v//ND37wA773ve8tMn/+/PnccsstXHDBBdxyyy1ceumlXHfddQBccMEF3HfffUycOJGJEydy3nnnLVjviCOO4OGHH+bEE0/kuOOOa9xBSerzTKIlSQ01dOhQHn/88QXPn3jiCdZZZx0efvhhHnnkEcaMGcOwYcN44okn2HTTTXnqqacYOnQo2267LQMGDGCllVZil1124a677gJgyJAhQHEDkn333Ze///3vi+xz77335rLLLuueA5TUJ5lES5IaavPNN2f69Ok88sgjvP766/zud79jt912Y/To0cyePZsZM2YwY8YMhg4dyl133cXb3/52dtxxR6ZMmcK///1v5s+fz0033cTIkSOZP3/+ghE85s2bx5///OcFo4VMnz59wT6vvPJKNthggx45Xkl9g7f9liTVZZ999uHGG29k7ty5DB06lO9+97usueaafP7zn2fOnDl85CMfYezYsVxzzTXMnDmTQw45hKuuuor+/ftzxhlnsOOOO/LGG29w0EEHMWrUqCXua4011uDII49k8803JyLYZZdd+MhHPsIrr7zCjjvuyLx583jjjTf40Ic+xKGHHgrAGWecwd/+9jeWXXZZ1lhjDc4555zuqBZJfZSjc0iSJEmLsbjROWyJlrT0icE9HUHPyFk9HUHf5Pkm9Un2iZYkSZIqMomWJEmSKjKJliRJkioyiZYkSZIqMomWJEmSKnJ0DklSITbp6Qh6Rt7d0xFI6oVsiZYkSZIqMomWJEmSKjKJliRJkioyiZYkSZIqMonuYgcddBCDBg1io402WlD27LPPssMOO7DBBhuwww478Nxzzy2y3uOPP87222/PiBEjGDVqFKeddtpC83/6058yfPhwRo0axYQJExaa99hjj7Hyyitz8sknL7Ld3XbbbaFYzjrrLEaPHs3YsWPZeuuteeCBBzp7yF2u2euwmfSGuvrDH/7AyJEjGTVqFPvuu29nDldSH9Lsn2+PPvoo48ePZ+ONN2a77bbjiSee6Owhd4lmrzdYev4vmER3sc985jNcffXVC5WdcMIJjB8/nunTpzN+/HhOOOGERdbr378/P/7xj3nwwQe5/fbbOfPMMxckuDfccAOXX345U6ZMYerUqXz1q19daN0vf/nL7Lzzzots85JLLmHllVdeqGzfffflvvvu45577mHChAkceeSRnT3kLtfsddhMmr2upk+fzvHHH8+tt97K1KlTOfXUUzt7yJL6iGb/fPvqV7/K/vvvz5QpU/jOd77DN77xjc4ecpdo9npbmv4vmER3sW222YY111xzobLLL7+cAw44AIADDjiAyy67bJH1Bg8ezKabbgrAKquswogRI3jyyScB+PnPf85RRx3F8ssvD8CgQYMWrHfZZZex3nrrMWrUqIW29/LLL3PKKafw7W9/e6HyVVdddcH0K6+8QkR09FAbptnrsJk0e1394he/4IgjjmCNNdZYZFuStCTN/vn2wAMPMH78eAC23357Lr/88s4cbpdp9npbmv4vmER3g6effprBgwcDxUk6e/bsJS4/Y8YM7r77brbYYgsApk2bxsSJE9liiy3YdtttufPOO4EiCT7xxBM55phjFtnG0UcfzVe+8hVWWmmlReadeeaZrL/++kyYMIHTTz+9s4fXLZqtDptZM9XVtGnTmDZtGu9///vZcsstF2kdkaQqmunzbcyYMVx88cUAXHrppbz00ks888wznT7GRmimelua/i+YRDeZl19+mb322otTTz11Qavx/Pnzee6557j99ts56aST+OQnP0lmcswxx/DlL395kZ9K7rnnHv75z3/ysY99rM19HHHEETz88MOceOKJHHfccQ0/pu7WHXW4tGh0Xc2fP5/p06dz4403cuGFF3LIIYfw/PPPd8uxSerbGv35dvLJJ3PTTTexySabcNNNNzFkyBD69+/997Dz/0L9ev+r3QusvfbazJo1i8GDBzNr1qzF/nQxb9489tprL/bbbz/23HPPBeVDhw5lzz33JCJ473vfS79+/Zg7dy533HEHF110ERMmTOD555+nX79+rLDCCiyzzDJMnjyZYcOGMX/+fGbPns12223HjTfeuND+9t57bw4//PBGHnqXadY6bEbNVFdDhw5lyy23ZNlll+Vd73oXw4cPZ/r06Wy++ebdVR2SliLN9Pm2zjrrcMkllwBF4nnxxRez2mqrdUs9VNVM9bY0/V+wJbob7LbbbpxzzjkAnHPOOey+++6LLJOZHHzwwYwYMWKRi/322GMPrr/+eqD4GeT1119nwIABTJw4kRkzZjBjxgy+9KUv8c1vfpPPfe5zHH744cycOZMZM2Zwyy23sOGGGy5I/qZPn75gu1deeSUbbLBBg466azVTHTa7ZqqrPfbYgxtuuAGAuXPnMm3aNNZbb70GHr2kpVkzfb7NnTuXN998E4Djjz+egw46qIFH3jnNVG9L0/8Fk+guts8++7DVVlvxj3/8g6FDh/KrX/2Ko446imuvvZYNNtiAa6+9lqOOOgqAmTNnsssuuwBw6623ct5553H99dczduxYxo4dy1VXXQUUw9X861//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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(12,6))\n", "means = [TSA_US_mean_arwt_sum, TSA_US_mean_arwt_max, TSA_US_mean_arwt, TSA_US_mean_arwt_nolf, TSA_US_mean_cwt, TSA_US_mean_ae, TSA_US_mean_ae_lf, TSA_US_mean_geocat]\n", "x = np.arange(len(means))\n", "means_c = [m - 273.15 for m in means]\n", "\n", "# color code bars based on value - though hard to distinguish close values\n", "from matplotlib import cm\n", "color_vals = np.array(means_c)\n", "colors = cm.hsv(color_vals / float(max(color_vals)))\n", "\n", "bar_plot = plt.bar(x,means_c,color = colors)\n", "plt.title(\"Comparing Regional Mean Methods\")\n", "plt.ylabel(\"CONUS 2m air temperature ($\\degree$C)\")\n", "plt.xticks(x, ('arwt sum','arwt max', 'arwt no norm', 'area no lf', 'cos lat', 'area element', 'area element lf', 'geocat'))\n", "\n", "# add text labels\n", "labels_plot = [round(m, 5) for m in means_c] # round to 4 decimal places\n", "def autolabel(rects):\n", " for idx,rect in enumerate(bar_plot):\n", " height = rect.get_height()\n", " ax.text(rect.get_x() + rect.get_width()/2., 1.02*height,\n", " labels_plot[idx],\n", " ha='center', va='bottom', rotation=0)\n", "\n", "autolabel(bar_plot)\n", "\n", "plt.ylim(0,13);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Interesting, this time cos lat biases high, versus globally it biases low\\\n", "Everything else is similar to global relationships" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python (conda-ctsm-py)", "language": "python", "name": "ctsm-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 4 }