COARE v3.5#
Caution
The COARE algorithm is designed to work best when the user has time series of as many input variables as possible.
This implementation only specifically requires that the ocean surface wind speed u be provide, but it is highly recommended to use additional variables.
If any of variables are not available for the full u time series, a single, representative (e.g., mean) value can be input that will be used in place of the entire time series.
Please read the documentation carefully to understand each of the input variables to coare_35.
- class pycoare.coare_35(u, t=(10.0,), rh=(75.0,), zu=(10.0,), zt=(10.0,), zq=(10.0,), zrf=(10.0,), us=(0.0,), ts=(10.0,), p=(1015.0,), lat=(45.0,), zi=(600.0,), rs=(150.0,), rl=(370.0,), rain=None, cp=None, sigH=None, jcool=1, nits=10)#
Primary class used for running the COARE v3.5 bulk flux algorithm.
Usage example using only wind speed as an input (see note above):
from pycoare import coare_35 # creating a coare_35 instance c = coare_35([1])
- Parameters:
u (ArrayLike) – ocean surface wind speed (m/s) at height zu
t (ArrayLike, optional) – bulk air temperature (degC) at height zt
rh (ArrayLike, optional) – relative humidity (%) at height zq
zu (ArrayLike, optional) – wind sensor height (m)
zt (ArrayLike, optional) – bulk air temperature sensor height (m)
zq (ArrayLike, optional) – relative humidity sensory height (m)
zrf (ArrayLike, optional) – reference height (m)
us (ArrayLike, optional) – ocean surface currents (m/s) (defaults to zero, i.e., u is relative wind speed)
ts (ArrayLike, optional) – sea water temperature (degC) (also see jcool)
p (ArrayLike, optional) – surface air pressure (mb)
lat (ArrayLike, optional) – latitude (deg)
zi (ArrayLike, optional) – planetary boundary layer height (m)
rs (ArrayLike, optional) – downward shortwave radiation (W/m^2)
rl (ArrayLike, optional) – downward longwave radiation (W/m^2)
rain (ArrayLike, optional) – rain rate (mm/hr)
cp (ArrayLike, optional) – phase speed of dominant waves (m/s)
sigH (ArrayLike, optional) – significant wave height (m)
jcool (int, optional) – cool skin option, 1 if ts is bulk ocean temperature, 0 if ts is ocean skin temperature
nits (int, optional) – number of iterations of bulk flux loop
- Variables:
fluxes – instance of the
fluxesclasstransfer_coefficients – instance of the
transfer_coefficientsclassstability_functions – instance of the
stability_functionsclassvelocities – instance of the
velocitiesclasstemperatures – instance of the
temperaturesclasshumidities – instance of the
humiditiesclassstability_parameters – instance of the
stability_parametersclass
- static buoyancy(u, t=(10.0,), rh=(75.0,), zu=(10.0,), zt=(10.0,), zq=(10.0,), zrf=(10.0,), us=(0.0,), ts=(10.0,), p=(1015.0,), lat=(45.0,), zi=(600.0,), rs=(150.0,), rl=(370.0,), rain=None, cp=None, sigH=None, jcool=1, nits=10)#
Calculate buoyancy flux (W/m^2) into the ocean.
The method
coare_35.buoyancy()is deprecated and will be removed in version 1.0. Use instance attributes instead, e.g.,coare_35_instance.fluxes.buoyancy.- Param:
see inputs to
coare_35- Returns:
buoyancy flux (W/m^2)
- Return type:
NDArray[np.float64]
- static cd(u, t=(10.0,), rh=(75.0,), zu=(10.0,), zt=(10.0,), zq=(10.0,), zrf=(10.0,), us=(0.0,), ts=(10.0,), p=(1015.0,), lat=(45.0,), zi=(600.0,), rs=(150.0,), rl=(370.0,), rain=None, cp=None, sigH=None, jcool=1, nits=10)#
Calculate the wind stress transfer (drag) coefficient at height zu.
The method
coare_35.cd()is deprecated and will be removed in version 1.0. Use instance attributes instead, e.g.,coare_35_instance.transfer_coefficients.cd.- Param:
see inputs to
coare_35- Returns:
drag coefficient
- Return type:
NDArray[np.float64]
- static latent(u, t=(10.0,), rh=(75.0,), zu=(10.0,), zt=(10.0,), zq=(10.0,), zrf=(10.0,), us=(0.0,), ts=(10.0,), p=(1015.0,), lat=(45.0,), zi=(600.0,), rs=(150.0,), rl=(370.0,), rain=None, cp=None, sigH=None, jcool=1, nits=10)#
Calculate latent heat flux (W/m^2) into the ocean.
The method
coare_35.latent()is deprecated and will be removed in version 1.0. Use instance attributes instead, e.g.,coare_35_instance.fluxes.latent.- Param:
see inputs to
coare_35- Returns:
latent heat flux (W/m^2)
- Return type:
NDArray[np.float64]
- static qstar(u, t=(10.0,), rh=(75.0,), zu=(10.0,), zt=(10.0,), zq=(10.0,), zrf=(10.0,), us=(0.0,), ts=(10.0,), p=(1015.0,), lat=(45.0,), zi=(600.0,), rs=(150.0,), rl=(370.0,), rain=None, cp=None, sigH=None, jcool=1, nits=10)#
Calculate the humiditiy scaling parameter.
The method
coare_35.qstar()is deprecated and will be removed in version 1.0. Use instance attributes instead, e.g.,coare_35_instance.humidities.qstar.- Param:
see inputs to
coare_35- Returns:
humidity scaling parameter (g/kg)
- Return type:
NDArray[np.float64]
- static sensible(u, t=(10.0,), rh=(75.0,), zu=(10.0,), zt=(10.0,), zq=(10.0,), zrf=(10.0,), us=(0.0,), ts=(10.0,), p=(1015.0,), lat=(45.0,), zi=(600.0,), rs=(150.0,), rl=(370.0,), rain=None, cp=None, sigH=None, jcool=1, nits=10)#
Calculate sensible heat flux (W/m^2) into the ocean.
The method
coare_35.sensible()is deprecated and will be removed in version 1.0. Use instance attributes instead, e.g.,coare_35_instance.fluxes.sensible.- Param:
see inputs to
coare_35- Returns:
sensible heat flux (W/m^2)
- Return type:
NDArray[np.float64]
- static tau(u, t=(10.0,), rh=(75.0,), zu=(10.0,), zt=(10.0,), zq=(10.0,), zrf=(10.0,), us=(0.0,), ts=(10.0,), p=(1015.0,), lat=(45.0,), zi=(600.0,), rs=(150.0,), rl=(370.0,), rain=None, cp=None, sigH=None, jcool=1, nits=10)#
Calculate wind stress (N/m^2) with gustiness.
The method
coare_35.tau()is deprecated and will be removed in version 1.0. Use instance attributes instead, e.g.,coare_35_instance.fluxes.tau.- Param:
see inputs to
coare_35- Returns:
wind stress (N/m^2)
- Return type:
NDArray[np.float64]
- static tstar(u, t=(10.0,), rh=(75.0,), zu=(10.0,), zt=(10.0,), zq=(10.0,), zrf=(10.0,), us=(0.0,), ts=(10.0,), p=(1015.0,), lat=(45.0,), zi=(600.0,), rs=(150.0,), rl=(370.0,), rain=None, cp=None, sigH=None, jcool=1, nits=10)#
Calculate the temperature scaling parameter.
The method
coare_35.tstar()is deprecated and will be removed in version 1.0. Use instance attributes instead, e.g.,coare_35_instance.temperatures.tstar.- Param:
see inputs to
coare_35- Returns:
temperature scaling parameter (K)
- Return type:
NDArray[np.float64]
- static ustar(u, t=(10.0,), rh=(75.0,), zu=(10.0,), zt=(10.0,), zq=(10.0,), zrf=(10.0,), us=(0.0,), ts=(10.0,), p=(1015.0,), lat=(45.0,), zi=(600.0,), rs=(150.0,), rl=(370.0,), rain=None, cp=None, sigH=None, jcool=1, nits=10)#
Calculate friction velocity (m/s) that includes gustiness.
The method
coare_35.ustar()is deprecated and will be removed in version 1.0. Use instance attributes instead, e.g.,coare_35_instance.velocities.ustar.- Param:
see inputs to
coare_35- Returns:
friction velocity (m/s)
- Return type:
NDArray[np.float64]
- static webb(u, t=(10.0,), rh=(75.0,), zu=(10.0,), zt=(10.0,), zq=(10.0,), zrf=(10.0,), us=(0.0,), ts=(10.0,), p=(1015.0,), lat=(45.0,), zi=(600.0,), rs=(150.0,), rl=(370.0,), rain=None, cp=None, sigH=None, jcool=1, nits=10)#
Calculate the Webb correction for latent heat flux (W/m^2).
The method
coare_35.webb()is deprecated and will be removed in version 1.0. Use instance attributes instead, e.g.,coare_35_instance.fluxes.webb.- Param:
see inputs to
coare_35- Returns:
Webb correction for latent heat flux (W/m^2)
- Return type:
NDArray[np.float64]
- class pycoare.coare_35.fluxes(_bulk_loop_inputs, _bulk_loop_outputs)#
Contains the flux outputs computed from the COARE v3.5 algorithm.
An instance of this class is created whenever a
coare_35class is created. Variables in this class should only be accessed through this instance of thecoare_35class:from pycoare import coare_35 # creating a coare_35 instance c = coare_35([1]) # accessing the Webb correction for latent heat flux c.fluxes.hlwebb
- Variables:
rnl – upwelling IR radiataion (W/m^2)
tau – wind stress (N/m^2)
hsb – sensible heat flux (W/m^2)
hlb – latent heat flux (W/m^2)
hbb – buoyancy flux (W/m^2)
hsbb – sonic buoyancy flux (W/m^2)
hlwebb – Webb correction for latent heat flux (W/m^2)
evap – evaporation (mm/hr)
rf – rain heat flux (W/m^2)
- class pycoare.coare_35.transfer_coefficients(_bulk_loop_inputs, _bulk_loop_outputs, fluxes)#
Contains the transfer coefficients computed from the COARE v3.5 algorithm.
An instance of this class is created whenever a
coare_35class is created. Variables in this class should only be accessed through this instance of thecoare_35class:from pycoare import coare_35 # creating a coare_35 instance c = coare_35([1]) # accessing the wind stress transfer coefficient c.transfer_coefficients.cd
- Variables:
cd – wind stress transfer (drag) coefficient at height zu
ch – sensible heat transfer coefficient (Stanton number) at height zu
ce – latent heat transfer coefficient (Dalton number) at height zu
cdn_rf – neutral wind stress transfer (drag) coefficient at reference height zrf
chn_rf – neutral sensible heat transfer coefficient (Stanton number) at reference height zrf
cen_rf – neutral latent heat transfer coefficient (Dalton number) at reference height zrf
- class pycoare.coare_35.stability_functions(_bulk_loop_inputs, _bulk_loop_outputs)#
Contains the stability functions calculated from the COARE v3.5 algorithm.
An instance of this class is created whenever a
coare_35class is created. Variables in this class should only be accessed through this instance of thecoare_35class:from pycoare import coare_35 # creating a coare_35 instance c = coare_35([1]) # accessing the velocity structure function c.stability_functions.psi_u
- Variables:
psi_u – velocity structure function
psi_u_rf – velocity structure function at reference height zrf
psi_t – temperature structure function
psi_t_rf – temperature structure function at reference height zrf
psi_q – moisture structure function
psi_q_rf – moisture structure function at reference height zrf
- class pycoare.coare_35.stability_parameters(_bulk_loop_outputs)#
Contains the stability parameters computed from the COARE v3.5 algorithm.
An instance of this class is created whenever a
coare_35class is created. Variables in this class should only be accessed through this instance of thecoare_35class:from pycoare import coare_35 # creating a coare_35 instance c = coare_35([1]) # accessing the temperature scaling parameter c.stability_parameters.tsr
- Variables:
tsr – temperature scaling parameter (K)
tvsr – virtual potential temperature scaling parameter (K)
tssr – sonic temperature scaling parameter (K)
qsr – humidity scaling parameter (g/kg)
tkt – cool skin thickness (m)
obukL – Obukhov length scale (m)
zet – Monin-Obukhov stability parameter
zo – roughness length (m)
zot – thermal roughness length (m)
zoq – moisture roughness length (m)
- class pycoare.coare_35.velocities(_bulk_loop_inputs, _bulk_loop_outputs, stability_functions)#
Contains the velocity outputs computed from the COARE v3.5 algorithm.
An instance of this class is created whenever a
coare_35class is created. Variables in this class should only be accessed through this instance of thecoare_35class:from pycoare import coare_35 # creating a coare_35 instance c = coare_35([1]) # accessing the friction velocity c.velocities.usr
- Variables:
ut – wind speed at height zt (m/s)
usr – friction velocity (m/s)
du – difference between wind speed u and ocean surface current us (m/s)
gf – ratio of du/ut
u – wind speed at height zu (m/s)
u_rf – wind speed at reference height zrf (m/s)
u_n – neutral wind speed at height zu (m/s)
u_n_rf – neutral wind speed at reference height zrf (m/s)
- class pycoare.coare_35.temperatures(_bulk_loop_inputs, _bulk_loop_outputs, stability_functions)#
Contains the temperature outputs computed from the COARE v3.5 algorithm.
An instance of this class is created whenever a
coare_35class is created. Variables in this class should only be accessed through this instance of thecoare_35class:from pycoare import coare_35 # creating a coare_35 instance c = coare_35([1]) # accessing the adiabatic lapse rate c.temperatures.lapse
- Variables:
lapse – adiabatic lapse rate (K/m)
dt – difference between t and ts (K)
dter – cool skin temperature depression (K)
t_rf – temperature at reference height zrf (K)
t_n – neutral temperature at height zt (K)
t_n_rf – neutral temperature at reference height zrf (K)
- class pycoare.coare_35.humidities(_bulk_loop_inputs, _bulk_loop_outputs, stability_functions, temperatures)#
Contains the humidity outputs computed from the COARE v3.5 algorithm.
An instance of this class is created whenever a
coare_35class is created. Variables in this class should only be accessed through this instance of thecoare_35class:from pycoare import coare_35 # creating a coare_35 instance c = coare_35([1]) # accessing the humidity at height zrf c.humidities.q_rf
- Variables:
dq – difference between q and qs (g/kg)
dqer – cool skin humidity depression (g/kg)
q_rf – humidity at reference height zrf (g/kg)
q_n – neutral humidity at height zq (g/kg)
q_n_rf – neutral humidity at reference height zrf (g/kg)
rh_rf – relative humidity at reference height zrf (%)