← Back to Documentation Home
CCPP SciDoc for HSD Capabilities  SRW v3.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
GFS Near-Surface Sea Temperature Module

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...

Collaboration diagram for GFS Near-Surface Sea Temperature Module:

Modules

 GFS NSST Diurnal Thermocline Model
 This module contains the diurnal thermocline layer model (DTM) of the GFS NSST scheme.
 
 GFS NSST Parameter Module
 
 GFS NSST Water Property
 

Functions/Subroutines

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 [38]).
 
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) [115] .
 
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) [38], p. 1298) following Paulson and Simpson (1981) [115] .
 
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) [38]; p.1298) following Paulson and Simpson (1981) [115].
 
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) [38] , p.1298) following Paulson and Simpson (1981) [115] .
 
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) [38], 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) [155] , 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) [38] , p.1301) following Soloviev and Vershinsky (1982) [136].
 
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, use_oceanuv, 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)
 

Detailed Description

Argument Table

sfc_nst_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintent
imhorizontal_loop_extenthorizontal loop extentcountinteger()in
hvaplatent_heat_of_vaporization_of_water_at_0clatent heat of evaporation/sublimationJ kg-1real()kind_physin
cpspecific_heat_of_dry_air_at_constant_pressurespecific heat of dry air at constant pressureJ kg-1 K-1real()kind_physin
hfuslatent_heat_of_fusion_of_water_at_0clatent heat of fusionJ kg-1real()kind_physin
jcaljoules_per_calorie_constantjoules per calorie constantJ cal-1real()kind_physin
epsratio_of_dry_air_to_water_vapor_gas_constantsrd/rvnonereal()kind_physin
epsm1ratio_of_dry_air_to_water_vapor_gas_constants_minus_one(rd/rv) - 1nonereal()kind_physin
rvrdm1ratio_of_vapor_to_dry_air_gas_constants_minus_one(rv/rd) - 1 (rv = ideal gas constant for water vapor)nonereal()kind_physin
rdgas_constant_of_dry_airideal gas constant for dry airJ kg-1 K-1real()kind_physin
rhw0sea_water_reference_densitysea water reference densitykg m-3real()kind_physin
pipiratio of a circle's circumference to its diameternonereal()kind_physin
tgicefreezing_point_temperature_of_seawaterfreezing point temperature of seawaterKreal()kind_physin
sbcstefan_boltzmann_constantStefan-Boltzmann constantW m-2 K-4real()kind_physin
pssurface_air_pressuresurface pressurePareal(ccpp_constant_one:horizontal_loop_extent)kind_physin
u1physics_timestep_initial_x_wind_at_surface_adjacent_layerx component of surface layer windm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
v1physics_timestep_initial_y_wind_at_surface_adjacent_layery component of surface layer windm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
usfcox_ocean_currentzonal current at ocean surfacem s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
vsfcoy_ocean_currentmeridional current at ocean surfacem s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
use_oceanuvdo_air_sea_flux_computation_over_waterair-sea flux optionflaglogical()in
t1physics_timestep_initial_air_temperature_at_surface_adjacent_layersurface layer mean temperatureKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
q1physics_timestep_initial_specific_humidity_at_surface_adjacent_layersurface layer mean specific humiditykg kg-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
trefreference_sea_surface_temperaturereference/foundation temperatureKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
cmsurface_drag_coefficient_for_momentum_in_air_over_watersurface exchange coeff for momentum over waternonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
chsurface_drag_coefficient_for_heat_and_moisture_in_air_over_watersurface exchange coeff heat surface exchange coeff heat & moisture over ocean moisture over waternonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
lseasprayflag_for_sea_sprayflag for sea spray parameterizationflaglogical()in
fmmonin_obukhov_similarity_function_for_momentum_over_waterMonin-Obukhov similarity function for momentum over waternonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
fm10monin_obukhov_similarity_function_for_momentum_at_10m_over_waterMonin-Obukhov similarity parameter for momentum at 10m over waternonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
prsl1air_pressure_at_surface_adjacent_layersurface layer mean pressurePareal(ccpp_constant_one:horizontal_loop_extent)kind_physin
prslkiratio_of_exner_function_between_midlayer_and_interface_at_lowest_model_layerExner function ratio bt midlayer and interface at 1st layerratioreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
prsik1surface_dimensionless_exner_functiondimensionless Exner function at the ground surfacenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
prslk1dimensionless_exner_function_at_surface_adjacent_layerdimensionless Exner function at the lowest model layernonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
wetflag_nonzero_wet_surface_fractionflag indicating presence of some ocean or lake surface area fractionflaglogical(ccpp_constant_one:horizontal_loop_extent)in
use_lake_modelflag_for_using_lake_modelflag indicating lake points using a lake modelflaginteger(ccpp_constant_one:horizontal_loop_extent)in
xlonlongitudelongituderadianreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
sinlatsine_of_latitudesine of latitudenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
stresssurface_wind_stress_over_watersurface wind stress over waterm2 s-2real(ccpp_constant_one:horizontal_loop_extent)kind_physin
sfcemissurface_longwave_emissivity_over_watersurface lw emissivity in fraction over waterfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
dlwflxsurface_downwelling_longwave_flux_absorbed_by_ground_over_watertotal sky surface downward longwave flux absorbed by the ground over waterW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physin
sfcnswsurface_net_downwelling_shortwave_fluxtotal sky sfc net sw flx into oceanW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physin
rainnonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep_over_watertotal precipitation amount in each time step over watermreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
timesteptimestep_for_dynamicstimestep intervalsreal()kind_physin
kdtindex_of_timestepcurrent time step indexindexinteger()in
solhrforecast_utc_hourtime in hours after 00z at the current timestephreal()kind_physin
xcoszinstantaneous_cosine_of_zenith_anglecosine of solar zenith anglenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
windwind_speed_at_lowest_model_layerwind speed at lowest model levelm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
flag_iterflag_for_iterationflag for iterationflaglogical(ccpp_constant_one:horizontal_loop_extent)in
flag_guessflag_for_guess_runflag for guess runflaglogical(ccpp_constant_one:horizontal_loop_extent)in
nstf_name1control_for_nsstmNSSTM flag: off/uncoupled/coupled=0/1/2flaginteger()in
nstf_name4lower_bound_for_depth_of_sea_temperature_for_nsstmzsea1mminteger()in
nstf_name5upper_bound_for_depth_of_sea_temperature_for_nsstmzsea2mminteger()in
lprntflag_printflag for printing diagnostics to outputflaglogical()in
iprhorizontal_index_of_printed_columnhorizontal index of printed columnindexinteger()in
thsfc_locflag_for_reference_pressure_thetaflag for reference pressure in theta calculationflaglogical()in
tskinsurface_skin_temperature_for_nsstocean surface skin temperatureKreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
tsurfsurface_skin_temperature_after_iteration_over_watersurface skin temperature after iteration over waterKreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
xtheat_content_in_diurnal_thermoclineheat content in diurnal thermocline layerK mreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
xssea_water_salinity_in_diurnal_thermoclinesalinity content in diurnal thermocline layerppt mreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
xux_current_in_diurnal_thermoclineu-current content in diurnal thermocline layerm2 s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
xvy_current_in_diurnal_thermoclinev-current content in diurnal thermocline layerm2 s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
xzdiurnal_thermocline_layer_thicknessdiurnal thermocline layer thicknessmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
zmocean_mixed_layer_thicknessmixed layer thicknessmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
xttsderivative_of_heat_content_in_diurnal_thermocline_wrt_surface_skin_temperatured(xt)/d(ts)mreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
xztsderivative_of_diurnal_thermocline_layer_thickness_wrt_surface_skin_temperatured(xz)/d(ts)m K-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
dt_coolmolecular_sublayer_temperature_correction_in_sea_watersub-layer cooling amountKreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
z_cmolecular_sublayer_thickness_in_sea_watersub-layer cooling thicknessmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
c_0coefficient_c_0coefficient1 to calculate d(tz)/d(ts)nonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
c_dcoefficient_c_dcoefficient2 to calculate d(tz)/d(ts)nonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
w_0coefficient_w_0coefficient3 to calculate d(tz)/d(ts)nonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
w_dcoefficient_w_dcoefficient4 to calculate d(tz)/d(ts)nonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
d_convfree_convection_layer_thickness_in_sea_waterthickness of free convection layermreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
ifdcontrol_for_diurnal_thermocline_calculationindex to start dtlm run or notindexreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
qrainsurface_sensible_heat_due_to_rainfallsensible heat flux due to rainfallWreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
qsurfsurface_specific_humidity_over_watersurface air saturation specific humidity over waterkg kg-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
gfluxupward_heat_flux_in_soil_over_watersoil heat flux over waterW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
cmmsurface_drag_wind_speed_for_momentum_in_air_over_watermomentum exchange coefficient over waterm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
chhsurface_drag_mass_flux_for_heat_and_moisture_in_air_over_waterthermal exchange coefficient over waterkg m-2 s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
evapkinematic_surface_upward_latent_heat_flux_over_waterkinematic surface upward latent heat flux over waterkg kg-1 m s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
hflxkinematic_surface_upward_sensible_heat_flux_over_waterkinematic surface upward sensible heat flux over waterK m s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
epsurface_upward_potential_latent_heat_flux_over_watersurface upward potential latent heat flux over waterW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*out
errflgccpp_error_codeerror code for error handling in CCPP1integer()out

GFS Near-Surface Sea Temperature Scheme General Algorithm