Commit a002c95e authored by sbiri's avatar sbiri
Browse files

cset cskin=0 as default

sskin default according tto parameterization
parent 340345cb
...@@ -61,6 +61,7 @@ class S88: ...@@ -61,6 +61,7 @@ class S88:
self.dt_full = self.theta-self.SST self.dt_full = self.theta-self.SST
def _fix_coolskin_warmlayer(self, wl, cskin, skin, Rl, Rs): def _fix_coolskin_warmlayer(self, wl, cskin, skin, Rl, Rs):
skin = self.skin if skin is None else skin
assert wl in [0, 1], "wl not valid" assert wl in [0, 1], "wl not valid"
assert cskin in [0, 1], "cskin not valid" assert cskin in [0, 1], "cskin not valid"
assert skin in ["C35", "ecmwf", "Beljaars"], "Skin value not valid" assert skin in ["C35", "ecmwf", "Beljaars"], "Skin value not valid"
...@@ -78,11 +79,14 @@ class S88: ...@@ -78,11 +79,14 @@ class S88:
self.Rs = np.full(self.spd.shape, np.nan) if Rs is None else Rs self.Rs = np.full(self.spd.shape, np.nan) if Rs is None else Rs
self.Rl = np.full(self.spd.shape, np.nan) if Rl is None else Rl self.Rl = np.full(self.spd.shape, np.nan) if Rl is None else Rl
def set_coolskin_warmlayer(self, wl=0, cskin=0, skin="C35", Rl=None, def set_coolskin_warmlayer(self, wl=0, cskin=0, skin=None, Rl=None,
Rs=None): Rs=None):
wl = 0 if wl is None else wl wl = 0 if wl is None else wl
if hasattr(self, "skin") == False:
self.skin = "C35"
self._fix_coolskin_warmlayer(wl, cskin, skin, Rl, Rs) self._fix_coolskin_warmlayer(wl, cskin, skin, Rl, Rs)
def _update_coolskin_warmlayer(self, ind): def _update_coolskin_warmlayer(self, ind):
if self.cskin == 1: if self.cskin == 1:
if self.skin == "C35": if self.skin == "C35":
...@@ -647,39 +651,43 @@ class UA(S88): ...@@ -647,39 +651,43 @@ class UA(S88):
class C30(S88): class C30(S88):
def set_coolskin_warmlayer(self, wl=0, cskin=1, skin="C35", Rl=None, Rs=None): # def set_coolskin_warmlayer(self, wl=0, cskin=1, skin="C35", Rl=None, Rs=None):
self._fix_coolskin_warmlayer(wl, cskin, skin, Rl, Rs) # self._fix_coolskin_warmlayer(wl, cskin, skin, Rl, Rs)
def __init__(self): def __init__(self):
self.meth = "C30" self.meth = "C30"
self.default_gust = [1, 1.2, 600] self.default_gust = [1, 1.2, 600]
self.skin = "C35"
class C35(C30): class C35(C30):
def __init__(self): def __init__(self):
self.meth = "C35" self.meth = "C35"
self.default_gust = [1, 1.2, 600] self.default_gust = [1, 1.2, 600]
self.skin = "C35"
class ecmwf(C30): class ecmwf(C30):
def set_coolskin_warmlayer(self, wl=0, cskin=1, skin="ecmwf", Rl=None, # def set_coolskin_warmlayer(self, wl=0, cskin=1, skin="ecmwf", Rl=None,
Rs=None): # Rs=None):
self._fix_coolskin_warmlayer(wl, cskin, skin, Rl, Rs) # self._fix_coolskin_warmlayer(wl, cskin, skin, Rl, Rs)
def __init__(self): def __init__(self):
self.meth = "ecmwf" self.meth = "ecmwf"
self.default_gust = [1, 1, 1000] self.default_gust = [1, 1, 1000]
self.skin = "ecmwf"
class Beljaars(C30): class Beljaars(C30):
def set_coolskin_warmlayer(self, wl=0, cskin=1, skin="Beljaars", Rl=None, # def set_coolskin_warmlayer(self, wl=0, cskin=1, skin="Beljaars", Rl=None,
Rs=None): # Rs=None):
self._fix_coolskin_warmlayer(wl, cskin, skin, Rl, Rs) # self._fix_coolskin_warmlayer(wl, cskin, skin, Rl, Rs)
def __init__(self): def __init__(self):
self.meth = "Beljaars" self.meth = "Beljaars"
self.default_gust = [1, 1, 1000] self.default_gust = [1, 1, 1000]
self.skin = "Beljaars"
def AirSeaFluxCode(spd, T, SST, lat=None, hum=None, P=None, hin=18, hout=10, def AirSeaFluxCode(spd, T, SST, lat=None, hum=None, P=None, hin=18, hout=10,
Rl=None, Rs=None, cskin=None, skin="C35", wl=0, gust=None, Rl=None, Rs=None, cskin=0, skin=None, wl=0, gust=None,
meth="S88", qmeth="Buck2", tol=None, maxiter=10, out=0, meth="S88", qmeth="Buck2", tol=None, maxiter=10, out=0,
L=None): L=None):
""" """
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment