Phytoplankton biomass#

%load_ext autoreload
%autoreload 2
import xarray as xr

from dask.distributed import Client

import catalog
import util

xr.set_options(keep_attrs=True)
/glade/work/kristenk/miniconda/envs/cesm-exp/lib/python3.7/site-packages/dask_jobqueue/core.py:20: FutureWarning: tmpfile is deprecated and will be removed in a future release. Please use dask.utils.tmpfile instead.
  from distributed.utils import tmpfile
<xarray.core.options.set_options at 0x2b17bf6837d0>
import matplotlib.pyplot as plt
import cartopy
import cartopy.crs as ccrs
import pop_tools
ds_grid = pop_tools.get_grid('POP_gx1v7')
lons=ds_grid.TLONG
lats=ds_grid.TLAT

Parameters#

casename = 'g.e22a06.G1850ECOIAF_JRA_PHYS_DEV.TL319_g17.scope_v1'
component = 'pop'
stream = 'h'

cluster_scheduler_address = None
# Parameters
casename = "g.e22a06.G1850ECOIAF_JRA_PHYS_DEV.TL319_g17.scope_v1"
component = "pop"
stream = "h"
cluster_scheduler_address = "tcp://10.12.206.26:40301"
assert component in ['pop']
assert stream in ['h', 'h.ecosys.nday1']

Connect to cluster#

if cluster_scheduler_address is None:
    cluster, client = util.get_ClusterClient()
    cluster.scale(12)
else:
    client = Client(cluster_scheduler_address)
client

Client

Client-1a31cd2c-0c3c-11ed-b5f7-3cecef1b11d4

Connection method: Direct
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/36768/status

Scheduler Info

Scheduler

Scheduler-59153102-2d90-4250-b1d9-5b9f28512082

Comm: tcp://10.12.206.26:40301 Workers: 32
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/36768/status Total threads: 32
Started: 11 minutes ago Total memory: 744.96 GiB

Workers

Worker: PBSCluster-0

Comm: tcp://10.12.206.25:41180 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/42193/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.25:34568
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-smli87lm
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 483.76 MiB Spilled bytes: 0 B
Read bytes: 112.66 MiB Write bytes: 48.35 MiB

Worker: PBSCluster-1

Comm: tcp://10.12.206.23:35055 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/39970/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.23:39298
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-pajhhimy
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 374.81 MiB Spilled bytes: 0 B
Read bytes: 236.66 MiB Write bytes: 195.31 kiB

Worker: PBSCluster-10

Comm: tcp://10.12.206.18:39960 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/40058/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.18:33787
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-frtdc9f5
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 318.36 MiB Spilled bytes: 0 B
Read bytes: 227.50 MiB Write bytes: 32.29 MiB

Worker: PBSCluster-11

Comm: tcp://10.12.206.18:35287 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/39615/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.18:36732
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-mmo_bs6s
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 332.95 MiB Spilled bytes: 0 B
Read bytes: 225.89 MiB Write bytes: 32.37 MiB

Worker: PBSCluster-12

Comm: tcp://10.12.206.8:33729 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/35711/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.8:43143
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-svc02rvq
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 389.00 MiB Spilled bytes: 0 B
Read bytes: 257.64 MiB Write bytes: 69.33 MiB

Worker: PBSCluster-13

Comm: tcp://10.12.206.8:37550 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/38907/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.8:40235
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-lys_uzzv
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 423.73 MiB Spilled bytes: 0 B
Read bytes: 258.05 MiB Write bytes: 69.44 MiB

Worker: PBSCluster-14

Comm: tcp://10.12.206.25:44992 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/44154/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.25:43428
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-76two5nt
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 357.44 MiB Spilled bytes: 0 B
Read bytes: 112.70 MiB Write bytes: 48.37 MiB

Worker: PBSCluster-15

Comm: tcp://10.12.206.15:43062 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/32926/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.15:39144
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-jy38onqp
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 373.71 MiB Spilled bytes: 0 B
Read bytes: 96.92 MiB Write bytes: 110.12 MiB

Worker: PBSCluster-16

Comm: tcp://10.12.206.8:43565 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/41710/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.8:45391
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-_7ilj7sa
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 377.18 MiB Spilled bytes: 0 B
Read bytes: 257.72 MiB Write bytes: 69.35 MiB

Worker: PBSCluster-17

Comm: tcp://10.12.206.11:40919 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/45664/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.11:40649
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-o65npiy5
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 441.42 MiB Spilled bytes: 0 B
Read bytes: 525.67 MiB Write bytes: 2.85 GiB

Worker: PBSCluster-18

Comm: tcp://10.12.206.11:33891 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/38384/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.11:33328
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-nou8aprr
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 335.87 MiB Spilled bytes: 0 B
Read bytes: 518.01 MiB Write bytes: 2.86 GiB

Worker: PBSCluster-19

Comm: tcp://10.12.206.15:36904 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/35533/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.15:34961
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-r5hakwxw
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 313.59 MiB Spilled bytes: 0 B
Read bytes: 96.90 MiB Write bytes: 110.10 MiB

Worker: PBSCluster-2

Comm: tcp://10.12.206.15:43006 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/39124/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.15:43393
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-mmk9h6y4
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 380.27 MiB Spilled bytes: 0 B
Read bytes: 96.75 MiB Write bytes: 110.12 MiB

Worker: PBSCluster-20

Comm: tcp://10.12.206.18:45916 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/35027/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.18:43737
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-xa8tkihj
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 390.39 MiB Spilled bytes: 0 B
Read bytes: 225.34 MiB Write bytes: 32.29 MiB

Worker: PBSCluster-21

Comm: tcp://10.12.206.11:45334 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/46680/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.11:46761
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-t02yg0d0
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 348.90 MiB Spilled bytes: 0 B
Read bytes: 522.87 MiB Write bytes: 2.86 GiB

Worker: PBSCluster-22

Comm: tcp://10.12.206.18:34993 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/44524/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.18:46562
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-3e1h8ye1
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 402.35 MiB Spilled bytes: 0 B
Read bytes: 225.98 MiB Write bytes: 32.38 MiB

Worker: PBSCluster-23

Comm: tcp://10.12.206.15:39733 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/46168/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.15:41249
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-xyvrzxs3
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 313.51 MiB Spilled bytes: 0 B
Read bytes: 97.00 MiB Write bytes: 110.22 MiB

Worker: PBSCluster-24

Comm: tcp://10.12.206.25:44221 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/45234/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.25:40387
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-yfm951kg
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 428.13 MiB Spilled bytes: 0 B
Read bytes: 128.86 MiB Write bytes: 55.07 MiB

Worker: PBSCluster-25

Comm: tcp://10.12.206.18:33408 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/43488/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.18:41022
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-6df9eo6t
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 327.98 MiB Spilled bytes: 0 B
Read bytes: 209.61 MiB Write bytes: 16.19 MiB

Worker: PBSCluster-26

Comm: tcp://10.12.206.8:38884 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/39795/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.8:40143
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-sb74tso9
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 375.86 MiB Spilled bytes: 0 B
Read bytes: 274.03 MiB Write bytes: 48.45 MiB

Worker: PBSCluster-27

Comm: tcp://10.12.206.15:40873 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/45934/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.15:41861
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-2tgmhfdl
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 295.25 MiB Spilled bytes: 0 B
Read bytes: 100.14 MiB Write bytes: 110.21 MiB

Worker: PBSCluster-28

Comm: tcp://10.12.206.18:36750 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/42860/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.18:43661
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-6lr4z8hl
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 277.75 MiB Spilled bytes: 0 B
Read bytes: 225.74 MiB Write bytes: 32.34 MiB

Worker: PBSCluster-29

Comm: tcp://10.12.206.8:32978 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/46650/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.8:38238
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-ihw76ltj
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 341.66 MiB Spilled bytes: 0 B
Read bytes: 257.87 MiB Write bytes: 69.39 MiB

Worker: PBSCluster-3

Comm: tcp://10.12.206.18:34352 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/35771/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.18:32780
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-l8qf3wzg
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 426.20 MiB Spilled bytes: 0 B
Read bytes: 225.79 MiB Write bytes: 32.35 MiB

Worker: PBSCluster-30

Comm: tcp://10.12.206.8:39013 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/33562/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.8:40233
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-peochg10
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 428.21 MiB Spilled bytes: 0 B
Read bytes: 257.90 MiB Write bytes: 69.40 MiB

Worker: PBSCluster-31

Comm: tcp://10.12.206.25:43689 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/43012/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.25:43417
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-yfzy1i0u
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 439.95 MiB Spilled bytes: 0 B
Read bytes: 112.57 MiB Write bytes: 48.31 MiB

Worker: PBSCluster-4

Comm: tcp://10.12.206.13:33058 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/43170/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.13:39266
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-yy1kkjd5
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 392.64 MiB Spilled bytes: 0 B
Read bytes: 360.18 MiB Write bytes: 64.67 MiB

Worker: PBSCluster-5

Comm: tcp://10.12.206.23:36916 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/42702/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.23:45113
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-8th_y8dw
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 386.62 MiB Spilled bytes: 0 B
Read bytes: 234.69 MiB Write bytes: 194.88 kiB

Worker: PBSCluster-6

Comm: tcp://10.12.206.8:38424 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/46679/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.8:44217
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-ml7gmjn8
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 426.26 MiB Spilled bytes: 0 B
Read bytes: 257.94 MiB Write bytes: 69.41 MiB

Worker: PBSCluster-7

Comm: tcp://10.12.206.25:44991 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/42629/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.25:45710
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-ab599zkf
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 310.71 MiB Spilled bytes: 0 B
Read bytes: 112.74 MiB Write bytes: 48.38 MiB

Worker: PBSCluster-8

Comm: tcp://10.12.206.25:42326 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/44451/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.25:35373
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-3gi9oohh
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 0.0% Last seen: Just now
Memory usage: 429.21 MiB Spilled bytes: 0 B
Read bytes: 112.79 MiB Write bytes: 48.40 MiB

Worker: PBSCluster-9

Comm: tcp://10.12.206.15:35080 Total threads: 1
Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/kristenk/proxy/46851/status Memory: 23.28 GiB
Nanny: tcp://10.12.206.15:39139
Local directory: /glade/scratch/kristenk/dask-workers/dask-worker-space/worker-9ijbos11
Tasks executing: 0 Tasks in memory: 0
Tasks ready: 0 Tasks in flight: 0
CPU usage: 2.0% Last seen: Just now
Memory usage: 335.38 MiB Spilled bytes: 0 B
Read bytes: 96.89 MiB Write bytes: 110.28 MiB

Load the data#

dsets = catalog.to_dataset_dict(
    case=casename,
    component=component,
    stream=stream,
)
dsets.keys()
dict_keys(['g.e22a06.G1850ECOIAF_JRA_PHYS_DEV.TL319_g17.scope_v1.pop.h'])

Compute long-term mean and plot#

ds = dsets[f'{casename}.{component}.{stream}']

Variable list#

variables =['diatC', 'coccoC','spC','diazC']
keep_vars=['z_t','z_t_150m','dz','time_bound','TAREA','TLAT','TLONG'] + variables
ds = ds.drop([v for v in ds.variables if v not in keep_vars])
ds.coccoC.isel(time=0,z_t_150m=0).plot()
<matplotlib.collections.QuadMesh at 0x2b17c3ce6410>
_images/ocn-phyto-biomass_18_1.png
ds.coccoC.isel(time=6,z_t_150m=0).plot()
<matplotlib.collections.QuadMesh at 0x2b17c40d3250>
_images/ocn-phyto-biomass_19_1.png
ds
<xarray.Dataset>
Dimensions:     (time: 120, d2: 2, z_t: 60, z_t_150m: 15, nlat: 384, nlon: 320)
Coordinates:
  * z_t         (z_t) float32 500.0 1.5e+03 2.5e+03 ... 5.125e+05 5.375e+05
  * z_t_150m    (z_t_150m) float32 500.0 1.5e+03 2.5e+03 ... 1.35e+04 1.45e+04
    TLONG       (nlat, nlon) float64 dask.array<chunksize=(384, 320), meta=np.ndarray>
    TLAT        (nlat, nlon) float64 dask.array<chunksize=(384, 320), meta=np.ndarray>
    TAREA       (nlat, nlon) float64 dask.array<chunksize=(384, 320), meta=np.ndarray>
Dimensions without coordinates: time, d2, nlat, nlon
Data variables:
    time_bound  (time, d2) float64 dask.array<chunksize=(1, 2), meta=np.ndarray>
    dz          (time, z_t) float32 dask.array<chunksize=(1, 60), meta=np.ndarray>
    spC         (time, z_t_150m, nlat, nlon) float32 dask.array<chunksize=(1, 15, 384, 320), meta=np.ndarray>
    diatC       (time, z_t_150m, nlat, nlon) float32 dask.array<chunksize=(1, 15, 384, 320), meta=np.ndarray>
    diazC       (time, z_t_150m, nlat, nlon) float32 dask.array<chunksize=(1, 15, 384, 320), meta=np.ndarray>
    coccoC      (time, z_t_150m, nlat, nlon) float32 dask.array<chunksize=(1, 15, 384, 320), meta=np.ndarray>
Attributes:
    title:             g.e22a06.G1850ECOIAF_JRA_PHYS_DEV.TL319_g17.scope_v1
    history:           none
    Conventions:       CF-1.0; http://www.cgd.ucar.edu/cms/eaton/netcdf/CF-cu...
    time_period_freq:  month_1
    model_doi_url:     https://doi.org/10.5065/D67H1H0V
    contents:          Diagnostic and Prognostic Variables
    source:            CCSM POP2, the CCSM Ocean Component
    revision:          $Id$
    calendar:          All years have exactly  365 days.
    start_time:        This dataset was created on 2022-05-01 at 16:57:11.2
    cell_methods:      cell_methods = time: mean ==> the variable values are ...
dt_wgt = ds.time_bound.diff('d2').squeeze()
dt_wgt /= dt_wgt.sum()
dt_wgt
<xarray.DataArray 'time_bound' (time: 120)>
dask.array<truediv, shape=(120,), dtype=float64, chunksize=(1,), chunktype=numpy.ndarray>
Dimensions without coordinates: time
Attributes:
    long_name:  boundaries for time-averaging interval
    units:      days since 0000-01-01 00:00:00
ds = ds.weighted(dt_wgt).mean('time')
ds['spC'].isel(z_t_150m=0).plot()
<matplotlib.collections.QuadMesh at 0x2b17c3f5c050>
_images/ocn-phyto-biomass_23_1.png

Phytoplankton biomass at the surface#

###### 
fig = plt.figure(figsize=(8,10))

ax = fig.add_subplot(4,1,1, projection=ccrs.Robinson(central_longitude=305.0))
ax.set_title('spC at surface', fontsize=12)
lon, lat, field = util.adjust_pop_grid(lons, lats,  ds.spC.isel(z_t_150m=0))
pc=ax.pcolormesh(lon, lat, field, cmap='jet',vmin=0,vmax=2,transform=ccrs.PlateCarree())
cbar1 = fig.colorbar(pc, ax=ax,extend='max',label='spC (mmol m$^{-3}$)')


ax = fig.add_subplot(4,1,2, projection=ccrs.Robinson(central_longitude=305.0))
ax.set_title('diatC at surface', fontsize=12)
lon, lat, field = util.adjust_pop_grid(lons, lats,  ds.diatC.isel(z_t_150m=0))
pc=ax.pcolormesh(lon, lat, field, cmap='jet',vmin=0,vmax=4,transform=ccrs.PlateCarree())
cbar1 = fig.colorbar(pc, ax=ax,extend='max',label='diatC (mmol m$^{-3}$)')


ax = fig.add_subplot(4,1,3, projection=ccrs.Robinson(central_longitude=305.0))
ax.set_title('coccoC at surface', fontsize=12)
lon, lat, field = util.adjust_pop_grid(lons, lats,  ds.coccoC.isel(z_t_150m=0))
pc=ax.pcolormesh(lon, lat, field, cmap='jet',vmin=0,vmax=2,transform=ccrs.PlateCarree())
cbar1 = fig.colorbar(pc, ax=ax,extend='max',label='coccoC (mmol m$^{-3}$)')

ax = fig.add_subplot(4,1,4, projection=ccrs.Robinson(central_longitude=305.0))
ax.set_title('diazC at surface', fontsize=12)
lon, lat, field = util.adjust_pop_grid(lons, lats,  ds.diazC.isel(z_t_150m=0))
pc=ax.pcolormesh(lon, lat, field, cmap='jet',vmin=0,vmax=1,transform=ccrs.PlateCarree())
cbar1 = fig.colorbar(pc, ax=ax,extend='max',label='diazC (mmol m$^{-3}$)')
_images/ocn-phyto-biomass_25_0.png

Phytoplankton biomass at 100m#

###### 
fig = plt.figure(figsize=(8,10))


ax = fig.add_subplot(4,1,1, projection=ccrs.Robinson(central_longitude=305.0))
ax.set_title('spC at 100m', fontsize=12)
lon, lat, field = util.adjust_pop_grid(lons, lats,  ds.spC.isel(z_t_150m=9))
pc=ax.pcolormesh(lon, lat, field, cmap='jet',vmin=0,vmax=0.4,transform=ccrs.PlateCarree())
cbar1 = fig.colorbar(pc, ax=ax,extend='max',label='spC (mmol m$^{-3}$)')

ax = fig.add_subplot(4,1,2, projection=ccrs.Robinson(central_longitude=305.0))
ax.set_title('diatC at 100m', fontsize=12)
lon, lat, field = util.adjust_pop_grid(lons, lats,  ds.diatC.isel(z_t_150m=9))
pc=ax.pcolormesh(lon, lat, field, cmap='jet',vmin=0,vmax=0.4,transform=ccrs.PlateCarree())
cbar1 = fig.colorbar(pc, ax=ax,extend='max',label='diatC (mmol m$^{-3}$)')

ax = fig.add_subplot(4,1,3, projection=ccrs.Robinson(central_longitude=305.0))
ax.set_title('coccoC at 100m', fontsize=12)
lon, lat, field = util.adjust_pop_grid(lons, lats,  ds.coccoC.isel(z_t_150m=9))
pc=ax.pcolormesh(lon, lat, field, cmap='jet',vmin=0,vmax=0.2,transform=ccrs.PlateCarree())
cbar1 = fig.colorbar(pc, ax=ax,extend='max',label='coccoC (mmol m$^{-3}$)')

ax = fig.add_subplot(4,1,4, projection=ccrs.Robinson(central_longitude=305.0))
ax.set_title('diazC at 100m', fontsize=12)
lon, lat, field = util.adjust_pop_grid(lons, lats,  ds.diazC.isel(z_t_150m=9))
pc=ax.pcolormesh(lon, lat, field, cmap='jet',vmin=0,vmax=0.1,transform=ccrs.PlateCarree())

cbar1 = fig.colorbar(pc, ax=ax,extend='max',label='diazC (mmol m$^{-3}$)')
_images/ocn-phyto-biomass_27_0.png