Test script path is 'test/test_ep_flux.rb' in expand dir of gphys.tar.gz.
Module functions of EP_Flux Operater for GPhys.
ep_full_sphere(gp_u, gp_v, gp_w_or_omega, gp_temp_or_theta, flag_temp_or_theta, xyzdims=[0,1,2])
Calculate Eliassen-Palm Flux(EP-Flux) from full set equations on the spherical coordinate. this method calculates EP-Flux from 4 GPhys objects, zonal-wind velocity(U), merdional-wind velocity(V), vertical-wind velocity(W) or pressure velocity(Omega), and temperature(T) or potential(Theta) temperature. check the equations on documents.
Furthermore, Residual mean merdional circulation (0, v*, w*) can be calculated.
ARGUMENTS
xyzdims (Array): an Array which represents location of upper gphyses's
coordinate. if coordinate configuration is (longitude, latitude, z), then xyzdims = [0, 1, 2]. else if coordinate configuration is (z, latitude, longitude), then xyzdims = [2, 1, 0].
RETURN VALUE
div_sphere(gp_y, gp_z)
Calculate divergence on the spherical coordinate. it is exclusive to in merdional cross section.
ARGUMENTS
gp_y (GPhys): a GPhys which is merdional component you want to calculate
divergence.
gp_z (GPhys): a GPhys which is vertical component you want to calculate
divergence.
RETURN VALUE
set_deriv_method( method_name )
Set derivative method. methods are defined in GPhys::derivative. Now cderiv and threepoint_O2nd_deriv supported
ARGUMENTS
RETURN VALUE
deriv( *args )
Call derivative method defined in GPhys::Derivative refer to @@deriv_method.
ARGUMENTS
RETURN VALUE
scale_height
return a value of the scale height on the log-pressure coordinate. default value is "7000 m".
RETURN VALUE * scale height (UNumeric)
scale_height=(h)
set a value of the scale height on the log-pressure coordinate.
RETURN VALUE * nil
radius
return a value of the radius of the planet. default value is "6.37E6 m".
RETURN VALUE * radius (UNumeric)
radius=(a)
set a value of the radius of the planet.
RETURN VALUE * nil
rot_period
return a value of the rotation period of the planet. default value is "8.64E4 s".
RETURN VALUE * rotation period (UNumeric)
rot_period=(rp)
set a value of the rotation period of the planet.
RETURN VALUE * nil
g_forces
return a value of the gravitational acceleration on the surface. default value is "9.81 m/s2".
RETURN VALUE * rotation period (UNumeric)
g_forces=(g)
set a value of the gravitational acceleration on the surface.
RETURN VALUE * nil
p00
return a value of the reference surface pressure. default value is "1.0E5 Pa".
RETURN VALUE * reference surface pressure (UNumeric)
p00=(p00)
set a value of the reference surface pressure.
RETURN VALUE * nil
cp
return a value of the specific heat at constant pressure of the atmosphere. default value is "1004.0[J.K-1.kg-1]"
RETURN VALUE * reference surface pressure (UNumeric)
cp=(cp)
set a value of the specific heat at constant pressure of the atmosphere.
RETURN VALUE * nil
gas_const
return a value of the gas constant divided by molecular mass. default value is "287.0[J.K-1.kg-1]".
RETURN VALUE * reference surface pressure (UNumeric)
gas_const=(r)
set a value of the gas constant divided by molecular mass.
RETURN VALUE * nil
get_constants
return values of the scale height, radius, rotation period, gravitational acceleration, reference surface pressure, specific heat, gas constant.
RETURN VALUE * scale height (UNumeric) * radius (UNumeric) * rotation period (UNumeric) * gravitational acceleration (UNumeric) * reference surface pressure (UNumeric) * specific heat at constant pressure of the atmosphere (UNumeric) * gas constant divided by molecular mass (UNumeric)
set_constants(scale_height, radius, rot_period, g_forces, p00, cp, gas_const)
set values of the scale height, radius, rotation period, and gravitational acceleration.
ARGUMENTS * scale height (UNumeric) * radius (UNumeric) * rotation period (UNumeric) * gravitational acceleration (UNumeric) * reference surface pressure (UNumeric) * specific heat at constant pressure of the atmosphere (UNumeric) * gas constant divided by molecular mass (UNumeric) RETURN VALUE * nil
make_gphys(*ax_ary)
make GPhys objects from Axis or VArray. data components is VArray of Axis.pos.
ARGUMENTS
RETURN VALUE
to_w_if_omega(gp, z)
convert to velocity(W) if gp is pressure velocity(Omega). decide from units gp.data.units. if it compatible with "m/s" then deem it W, else if "Pa/s" then deem it Omega.
ARGUMENTS
RETURN VALUE
to_z_if_pressure(gp)
convert to altitude(z) if gp is pressure coordinate (p). decide from units gp.data.units. if it compatible with "Pa" then deem it (p).
ARGUMENTS
RETURN VALUE
to_p_if_altitude(gp)
convert to pressure(p) if gp is altitude(z). decide from units gp.data.units. if it compatible with "m" then deem it (z).
ARGUMENTS
RETURN VALUE
to_theta_if_temperature(gp_t, z, flag_temp_or_theta=true)
convert gp to potential temperature(\theta) if flag_temp_or_theta is true.
ARGUMENTS
gp_t(GPhys): a GPhys which data represents potential temperature or
temperature.
RETURN VALUE
to_rad_if_deg(gp)
convert to radian if gp.data.units is degrees.
ARGUMENTS
RETURN VALUE
eddy_products(gp_u, gp_v, gp_w, gp_t, dimname)
calculate eddy products along "dimname" dimension. now in this documents, ' means eddy from zonal mean, and () means zonal mean.
ARGUMENTS
RETURN VALUE
remove_0_at_poles(cos_gp)
set value if the cos(latitude) is nearly equal to 0 (|x|< 1e-6) at poles. at North pole, new value is 2 and at South pole 2
ARGUMENTS * cos_gp(GPhys): a GPhys which represents latitude. RETURN VALUE * new_cos_gp(GPhys): a GPhys which value at poles displaceed.
preparate_for_vector_on_merdional_section(xax, yax)
preparate for GGraph::vector_on_merdional_section in vector_on_merdional_section.
ARGUMENTS * xax(VArray): a VArray which represents x axis. * yax(VArray): a VArray which represents y axis. RETURN VALUE * va_aphi(VArray): a VArray which represents x-coordinate(radius * phi). * va_z(VArray): a VArray which represents z-coordinate. * was_proportional_to_p(True or False): flag original axis proportional to pressure or z.
strm_rmean(v_rmean, yzdims=[0,1])
Calculate mass stream function for residual zonal mean circulation.
ARGUMENTS
RETURN VALUE
Deriv_methods
derivative method name [ 'cderiv', 'threepoint_O2nd_deriv' ]