This module contains the CCPP-compliant GFS near-surface sea temperature scheme.This subroutine calls the Thermal Skin-layer and Diurnal Thermocline models to update the NSST profile.
More...
|
subroutine, public | nst_module::dtm_1p (kdt, timestep, rich, tox, toy, i0, q, sss, sep, q_ts, hl_ts, rho, alpha, beta, alon, sinlat, soltim, grav, le, d_conv, xt, xs, xu, xv, xz, xzts, xtts) |
| This subroutine contains the module of diurnal thermocline layer model.
|
|
subroutine | nst_module::eulerm (kdt, timestep, rich, tox, toy, i0, q, sss, sep, q_ts, hl_ts, rho, alpha, beta, alon, sinlat, soltim, grav, le, d_conv, xt, xs, xu, xv, xz, xzts, xtts) |
| This subroutine integrates one time step with modified Euler method.
|
|
subroutine | nst_module::dtm_1p_zwa (kdt, timestep, i0, q, rho, d_conv, xt, xs, xu, xv, xz, tr_mda, tr_fca, tr_tla, tr_mwa) |
| This subroutine applies xz adjustment.
|
|
subroutine, public | nst_module::dtm_1p_fca (d_conv, xt, xtts, xz, xzts) |
| This subroutine applies free convection adjustment(fca).
|
|
subroutine, public | nst_module::dtm_1p_tla (dz, te, xt, xtts, xz, xzts) |
| This subroutine applies top layer adjustment (tla).
|
|
subroutine, public | nst_module::dtm_1p_mwa (xt, xtts, xz, xzts) |
| This subroutine applies maximum warming adjustment (mwa).
|
|
subroutine, public | nst_module::dtm_1p_mda (xt, xtts, xz, xzts) |
| This subroutine applies minimum depth adjustment (xz adjustment).
|
|
subroutine, public | nst_module::dtm_1p_mta (dta, xt, xtts, xz, xzts) |
| This subroutine applies maximum temperature adjustment (mta).
|
|
subroutine, public | nst_module::convdepth (kdt, timestep, i0, q, sss, sep, rho, alpha, beta, xt, xs, xz, d_conv) |
| This subroutine calculates depth for convective adjustment.
|
|
subroutine | nst_module::dtm_onset (kdt, timestep, rich, tox, toy, i0, q, sss, sep, q_ts, hl_ts, rho, alpha, beta, alon, sinlat, soltim, grav, le, xt, xs, xu, xv, xz, xzts, xtts) |
|
subroutine, public | nst_module::cal_w (kdt, xz, xt, xzts, xtts, w_0, w_d) |
| This subroutine computes coefficients (w_0 and w_d) to calculate d(tw)/d(ts).
|
|
subroutine, public | nst_module::cal_ttop (kdt, timestep, q_warm, rho, dz, xt, xz, ttop) |
| This subroutine calculates the diurnal warming amount at the top layer with thickness of delz.
|
|
subroutine | nst_module::app_sfs (kdt, xt, xs, xu, xv, alpha, beta, grav, d_1p, xz) |
| This subroutine adjust dtm-1p dtl thickness by applying shear flow stability with assumed exponential profile.
|
|
subroutine | nst_module::cal_tztr (kdt, xt, c_0, c_d, w_0, w_d, zc, zw, z, tztr) |
| This subroutine calculates d(tz)/d(ts).
|
|
subroutine, public | nst_module::cool_skin (ustar_a, f_nsol, f_sol_0, evap, sss, alpha, beta, rho_w, rho_a, ts, q_ts, hl_ts, grav, le, deltat_c, z_c, c_0, c_d) |
| This subroutine contains the upper ocean cool-skin parameterization (Fairall et al, 1996 [57]).
|
|
real function | nst_module::int_epn (z1, z2, zmx, ztr, n) |
| This function calculates a definitive integral of an exponential curve (power of 2).
|
|
subroutine | nst_module::dtl_reset_cv (xt, xs, xu, xv, xz) |
| This subroutine resets the value of xt,xs,xu,xv,xz.
|
|
subroutine, public | nst_module::dtl_reset (xt, xs, xu, xv, xz, xzts, xtts) |
| This subroutine resets the value of xt,xs,xu,xv,xz,xtts,xzts.
|
|
subroutine, public | module_nst_water_prop::rhocoef (t, s, rhoref, alpha, beta) |
| This subroutine computes thermal expansion coefficient (alpha) and saline contraction coefficient (beta).
|
|
subroutine, public | module_nst_water_prop::density (t, s, rho) |
| This subroutine computes sea water density.
|
|
elemental subroutine, public | module_nst_water_prop::sw_ps_9b (z, fxp) |
| This subroutine computes the fraction of the solar radiation absorbed by the depth z following Paulson and Simpson (1981) [160] .
|
|
elemental subroutine, public | module_nst_water_prop::sw_ps_9b_aw (z, aw) |
| This subroutine.
|
|
elemental subroutine | module_nst_water_prop::sw_fairall_6exp_v1 (z, fxp) |
| This subroutine computes fraction of the solar radiation absorbed by the ocean at the depth z (Fairall et al. (1996) [57], p. 1298) following Paulson and Simpson (1981) [160] .
|
|
elemental subroutine | module_nst_water_prop::sw_fairall_6exp_v1_aw (z, aw) |
| This subroutine calculates fraction of the solar radiation absorbed by the ocean at the depth z (fairall et al.(1996) [57]; p.1298) following Paulson and Simpson (1981) [160].
|
|
elemental subroutine | module_nst_water_prop::sw_fairall_6exp_v1_sum (z, sum) |
| This subroutine computes fraction of the solar radiation absorbed by the ocean at the depth z (Fairall et al.(1996) [57] , p.1298) following Paulson and Simpson (1981) [160] .
|
|
elemental subroutine | module_nst_water_prop::sw_fairall_simple_v1 (f_sol_0, z, df_sol_z) |
| Solar radiation absorbed by the ocean at the depth z (Fairall et al. (1996) [57], p.1298)
|
|
elemental subroutine | module_nst_water_prop::sw_wick_v1 (f_sol_0, z, df_sol_z) |
| solar radiation absorbed by the ocean at the depth z (Zeng and Beljaars (2005) [210] , p.5).
|
|
elemental subroutine | module_nst_water_prop::sw_soloviev_3exp_v1 (f_sol_0, z, df_sol_z) |
| This subroutine computes solar radiation absorbed by the ocean at the depth z (Fairall et al.(1996) [57] , p.1301) following Soloviev and Vershinsky (1982) [187].
|
|
elemental subroutine | module_nst_water_prop::sw_soloviev_3exp_v2 (f_sol_0, z, df_sol_z) |
|
elemental subroutine | module_nst_water_prop::sw_soloviev_3exp_v2_aw (z, aw) |
|
elemental subroutine | module_nst_water_prop::sw_ohlmann_v1 (z, fxp) |
|
real(kind_phys) function, public | module_nst_water_prop::grv (x) |
|
subroutine | module_nst_water_prop::solar_time_from_julian (jday, xlon, soltim) |
| This subroutine computes solar time from the julian date.
|
|
subroutine | module_nst_water_prop::compjd (jyr, jmnth, jday, jhr, jmn, jd, fjd) |
| This subroutine computes julian day and fraction from year, month, day and time UTC.
|
|
subroutine, public | module_nst_water_prop::get_dtzm_point (xt, xz, dt_cool, zc, z1, z2, dtm) |
| This subroutine computes dtm (the mean of \(dT(z)\)).
|
|
subroutine, public | module_nst_water_prop::get_dtzm_2d (xt, xz, dt_cool, zc, wet, z1, z2, nx, ny, nth, dtm) |
|
subroutine | sfc_nst::sfc_nst_run (im, hvap, cp, hfus, jcal, eps, epsm1, rvrdm1, rd, rhw0, pi, tgice, sbc, ps, u1, v1, usfco, vsfco, icplocn2atm, t1, q1, tref, cm, ch, lseaspray, fm, fm10, prsl1, prslki, prsik1, prslk1, wet, use_lake_model, xlon, sinlat, stress, sfcemis, dlwflx, sfcnsw, rain, timestep, kdt, solhr, xcosz, wind, flag_iter, flag_guess, nstf_name1, nstf_name4, nstf_name5, lprnt, ipr, thsfc_loc, tskin, tsurf, xt, xs, xu, xv, xz, zm, xtts, xzts, dt_cool, z_c, c_0, c_d, w_0, w_d, d_conv, ifd, qrain, qsurf, gflux, cmm, chh, evap, hflx, ep, errmsg, errflg) |
|
local_name | standard_name | long_name | units | type | dimensions | kind | intent |
im | horizontal_loop_extent | horizontal loop extent | count | integer | () | | in |
hvap | latent_heat_of_vaporization_of_water_at_0c | latent heat of evaporation/sublimation | J kg-1 | real | () | kind_phys | in |
cp | specific_heat_of_dry_air_at_constant_pressure | specific heat of dry air at constant pressure | J kg-1 K-1 | real | () | kind_phys | in |
hfus | latent_heat_of_fusion_of_water_at_0c | latent heat of fusion | J kg-1 | real | () | kind_phys | in |
jcal | joules_per_calorie_constant | joules per calorie constant | J cal-1 | real | () | kind_phys | in |
eps | ratio_of_dry_air_to_water_vapor_gas_constants | rd/rv | none | real | () | kind_phys | in |
epsm1 | ratio_of_dry_air_to_water_vapor_gas_constants_minus_one | (rd/rv) - 1 | none | real | () | kind_phys | in |
rvrdm1 | ratio_of_vapor_to_dry_air_gas_constants_minus_one | (rv/rd) - 1 (rv = ideal gas constant for water vapor) | none | real | () | kind_phys | in |
rd | gas_constant_of_dry_air | ideal gas constant for dry air | J kg-1 K-1 | real | () | kind_phys | in |
rhw0 | sea_water_reference_density | sea water reference density | kg m-3 | real | () | kind_phys | in |
pi | pi | ratio of a circle's circumference to its diameter | none | real | () | kind_phys | in |
tgice | freezing_point_temperature_of_seawater | freezing point temperature of seawater | K | real | () | kind_phys | in |
sbc | stefan_boltzmann_constant | Stefan-Boltzmann constant | W m-2 K-4 | real | () | kind_phys | in |
ps | surface_air_pressure | surface pressure | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
u1 | x_wind_at_surface_adjacent_layer | x component of surface layer wind | m s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
v1 | y_wind_at_surface_adjacent_layer | y component of surface layer wind | m s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
usfco | x_ocean_current | zonal current at ocean surface | m s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
vsfco | y_ocean_current | meridional current at ocean surface | m s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
icplocn2atm | control_for_air_sea_flux_computation_over_water | air-sea flux option | 1 | integer | () | | in |
t1 | air_temperature_at_surface_adjacent_layer | surface layer mean temperature | K | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
q1 | specific_humidity_at_surface_adjacent_layer | surface layer mean specific humidity | kg kg-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
tref | reference_sea_surface_temperature | reference/foundation temperature | K | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
cm | surface_drag_coefficient_for_momentum_in_air_over_water | surface exchange coeff for momentum over water | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
ch | surface_drag_coefficient_for_heat_and_moisture_in_air_over_water | surface exchange coeff heat surface exchange coeff heat & moisture over ocean moisture over water | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
lseaspray | flag_for_sea_spray | flag for sea spray parameterization | flag | logical | () | | in |
fm | monin_obukhov_similarity_function_for_momentum_over_water | Monin-Obukhov similarity function for momentum over water | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
fm10 | monin_obukhov_similarity_function_for_momentum_at_10m_over_water | Monin-Obukhov similarity parameter for momentum at 10m over water | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
prsl1 | air_pressure_at_surface_adjacent_layer | surface layer mean pressure | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
prslki | ratio_of_exner_function_between_midlayer_and_interface_at_lowest_model_layer | Exner function ratio bt midlayer and interface at 1st layer | ratio | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
prsik1 | surface_dimensionless_exner_function | dimensionless Exner function at the ground surface | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
prslk1 | dimensionless_exner_function_at_surface_adjacent_layer | dimensionless Exner function at the lowest model layer | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
wet | flag_nonzero_wet_surface_fraction | flag indicating presence of some ocean or lake surface area fraction | flag | logical | (ccpp_constant_one:horizontal_loop_extent) | | in |
use_lake_model | flag_for_using_lake_model | flag indicating lake points using a lake model | flag | integer | (ccpp_constant_one:horizontal_loop_extent) | | in |
xlon | longitude | longitude | radian | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
sinlat | sine_of_latitude | sine of latitude | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
stress | surface_wind_stress_over_water | surface wind stress over water | m2 s-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
sfcemis | surface_longwave_emissivity_over_water | surface lw emissivity in fraction over water | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
dlwflx | surface_downwelling_longwave_flux_absorbed_by_ground_over_water | total sky surface downward longwave flux absorbed by the ground over water | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
sfcnsw | surface_net_downwelling_shortwave_flux | total sky sfc net sw flx into ocean | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
rain | nonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep_over_water | total precipitation amount in each time step over water | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
timestep | timestep_for_dynamics | timestep interval | s | real | () | kind_phys | in |
kdt | index_of_timestep | current time step index | index | integer | () | | in |
solhr | forecast_utc_hour | time in hours after 00z at the current timestep | h | real | () | kind_phys | in |
xcosz | instantaneous_cosine_of_zenith_angle | cosine of solar zenith angle | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
wind | wind_speed_at_lowest_model_layer | wind speed at lowest model level | m s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
flag_iter | flag_for_iteration | flag for iteration | flag | logical | (ccpp_constant_one:horizontal_loop_extent) | | in |
flag_guess | flag_for_guess_run | flag for guess run | flag | logical | (ccpp_constant_one:horizontal_loop_extent) | | in |
nstf_name1 | control_for_nsstm | NSSTM flag: off/uncoupled/coupled=0/1/2 | flag | integer | () | | in |
nstf_name4 | lower_bound_for_depth_of_sea_temperature_for_nsstm | zsea1 | mm | integer | () | | in |
nstf_name5 | upper_bound_for_depth_of_sea_temperature_for_nsstm | zsea2 | mm | integer | () | | in |
lprnt | flag_print | flag for printing diagnostics to output | flag | logical | () | | in |
ipr | horizontal_index_of_printed_column | horizontal index of printed column | index | integer | () | | in |
thsfc_loc | flag_for_reference_pressure_theta | flag for reference pressure in theta calculation | flag | logical | () | | in |
tskin | surface_skin_temperature_for_nsst | ocean surface skin temperature | K | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
tsurf | surface_skin_temperature_after_iteration_over_water | surface skin temperature after iteration over water | K | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
xt | heat_content_in_diurnal_thermocline | heat content in diurnal thermocline layer | K m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
xs | sea_water_salinity_in_diurnal_thermocline | salinity content in diurnal thermocline layer | ppt m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
xu | x_current_in_diurnal_thermocline | u-current content in diurnal thermocline layer | m2 s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
xv | y_current_in_diurnal_thermocline | v-current content in diurnal thermocline layer | m2 s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
xz | diurnal_thermocline_layer_thickness | diurnal thermocline layer thickness | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
zm | ocean_mixed_layer_thickness | mixed layer thickness | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
xtts | derivative_of_heat_content_in_diurnal_thermocline_wrt_surface_skin_temperature | d(xt)/d(ts) | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
xzts | derivative_of_diurnal_thermocline_layer_thickness_wrt_surface_skin_temperature | d(xz)/d(ts) | m K-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
dt_cool | molecular_sublayer_temperature_correction_in_sea_water | sub-layer cooling amount | K | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
z_c | molecular_sublayer_thickness_in_sea_water | sub-layer cooling thickness | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
c_0 | coefficient_c_0 | coefficient1 to calculate d(tz)/d(ts) | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
c_d | coefficient_c_d | coefficient2 to calculate d(tz)/d(ts) | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
w_0 | coefficient_w_0 | coefficient3 to calculate d(tz)/d(ts) | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
w_d | coefficient_w_d | coefficient4 to calculate d(tz)/d(ts) | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
d_conv | free_convection_layer_thickness_in_sea_water | thickness of free convection layer | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
ifd | control_for_diurnal_thermocline_calculation | index to start dtlm run or not | index | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
qrain | surface_sensible_heat_due_to_rainfall | sensible heat flux due to rainfall | W | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
qsurf | surface_specific_humidity_over_water | surface air saturation specific humidity over water | kg kg-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
gflux | upward_heat_flux_in_soil_over_water | soil heat flux over water | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
cmm | surface_drag_wind_speed_for_momentum_in_air_over_water | momentum exchange coefficient over water | m s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
chh | surface_drag_mass_flux_for_heat_and_moisture_in_air_over_water | thermal exchange coefficient over water | kg m-2 s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
evap | kinematic_surface_upward_latent_heat_flux_over_water | kinematic surface upward latent heat flux over water | kg kg-1 m s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
hflx | kinematic_surface_upward_sensible_heat_flux_over_water | kinematic surface upward sensible heat flux over water | K m s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
ep | surface_upward_potential_latent_heat_flux_over_water | surface upward potential latent heat flux over water | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
errmsg | ccpp_error_message | error message for error handling in CCPP | none | character | () | len=* | out |
errflg | ccpp_error_code | error code for error handling in CCPP | 1 | integer | () | | out |