Skip to content

Commit

Permalink
Add std output from PyBAYWATCH
Browse files Browse the repository at this point in the history
  • Loading branch information
fzhu2e committed Jun 26, 2024
1 parent 7ba98c3 commit 101be43
Show file tree
Hide file tree
Showing 6 changed files with 3,455 additions and 5 deletions.
12 changes: 8 additions & 4 deletions cfr/psm.py
Original file line number Diff line number Diff line change
Expand Up @@ -1164,7 +1164,7 @@ def __init__(self, pobj=None, climate_required=['sst']):

def forward(self, seed=2333, type='SST', mode='analog', tolerance=1):
vn = f'model.{self.climate_required[0]}'
res = pb.TEX_forward(self.pobj.lat, self.pobj.lon, self.pobj.clim[vn].da.values, seed=seed, type=type, mode=mode, tolerance=tolerance)
res, sigma = pb.TEX_forward(self.pobj.lat, self.pobj.lon, self.pobj.clim[vn].da.values, seed=seed, type=type, mode=mode, tolerance=tolerance)
pct = np.percentile(res, q=[5, 50, 95], axis=1)

pp = ProxyRecord(
Expand All @@ -1179,6 +1179,7 @@ def forward(self, seed=2333, type='SST', mode='analog', tolerance=1):
time_name=self.pobj.time_name,
time_unit=self.pobj.time_unit,
)
pp.R = sigma**2
return pp

class BayUK37:
Expand All @@ -1193,7 +1194,7 @@ def __init__(self, pobj=None, climate_required=['sst']):

def forward(self, seed=2333):
vn = f'model.{self.climate_required[0]}'
res = pb.UK_forward(self.pobj.clim[vn].da.values, seed=seed)
res, sigma = pb.UK_forward(self.pobj.clim[vn].da.values, seed=seed)
pct = np.percentile(res, q=[5, 50, 95], axis=1)

pp = ProxyRecord(
Expand All @@ -1208,6 +1209,7 @@ def forward(self, seed=2333):
time_name=self.pobj.time_name,
time_unit=self.pobj.time_unit,
)
pp.R = sigma**2
return pp


Expand All @@ -1223,7 +1225,7 @@ def __init__(self, pobj=None, climate_required=['sst', 'd18Osw']):
def forward(self, seed=2333, species='all_sea'):
vn1 = f'model.{self.climate_required[0]}'
vn2 = f'model.{self.climate_required[1]}'
res = pb.d18Oc_forward(sst=self.pobj.clim[vn1].da.values, d18Osw=self.pobj.clim[vn2].da.values, seed=seed, species=species)
res, sigma = pb.d18Oc_forward(sst=self.pobj.clim[vn1].da.values, d18Osw=self.pobj.clim[vn2].da.values, seed=seed, species=species)
pct = np.percentile(res, q=[5, 50, 95], axis=1)

pp = ProxyRecord(
Expand All @@ -1238,6 +1240,7 @@ def forward(self, seed=2333, species='all_sea'):
time_name=self.pobj.time_name,
time_unit=self.pobj.time_unit,
)
pp.R = sigma**2
return pp

class BayMgCa:
Expand All @@ -1252,7 +1255,7 @@ def __init__(self, pobj=None, climate_required=['sst', 'sss']):
def forward(self, seed=2333, species='all_sea', clean=1, pH=1, omega=1, sw=2, H=1, age=15):
vn1 = f'model.{self.climate_required[0]}'
vn2 = f'model.{self.climate_required[0]}'
res = pb.MgCa_forward(
res, sigma = pb.MgCa_forward(
age=age, sst=self.pobj.clim[vn1].da.values, salinity=self.pobj.clim[vn2].da.values,
clean=clean, pH=pH, omega=omega, species=species, sw=sw, H=H, seed=seed,
)
Expand All @@ -1270,4 +1273,5 @@ def forward(self, seed=2333, species='all_sea', clean=1, pH=1, omega=1, sw=2, H=
time_name=self.pobj.time_name,
time_unit=self.pobj.time_unit,
)
pp.R = sigma**2
return pp
1,032 changes: 1,032 additions & 0 deletions docsrc/notebooks/test-graphem2.ipynb

Large diffs are not rendered by default.

Loading

0 comments on commit 101be43

Please sign in to comment.