CCPP Scientific Documentation
v4.0
GFS Near-Surface Sea Temperature Scheme Module

This subroutine calls the Thermal Skin-layer and Diurnal Thermocline models to update the NSST profile. More...

Detailed Description

Argument Table

sfc_nst_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintentoptional
imhorizontal_loop_extenthorizontal loop extentcountinteger()inFalse
hvaplatent_heat_of_vaporization_of_water_at_0Clatent heat of evaporation/sublimationJ kg-1real()kind_physinFalse
cpspecific_heat_of_dry_air_at_constant_pressurespecific heat of dry air at constant pressureJ kg-1 K-1real()kind_physinFalse
hfuslatent_heat_of_fusion_of_water_at_0Clatent heat of fusionJ kg-1real()kind_physinFalse
jcaljoules_per_calorie_constantjoules per calorie constantJ cal-1real()kind_physinFalse
epsratio_of_dry_air_to_water_vapor_gas_constantsrd/rvnonereal()kind_physinFalse
epsm1ratio_of_dry_air_to_water_vapor_gas_constants_minus_one(rd/rv) - 1nonereal()kind_physinFalse
rvrdm1ratio_of_vapor_to_dry_air_gas_constants_minus_one(rv/rd) - 1 (rv = ideal gas constant for water vapor)nonereal()kind_physinFalse
rdgas_constant_dry_airideal gas constant for dry airJ kg-1 K-1real()kind_physinFalse
rhw0sea_water_reference_densitysea water reference densitykg m-3real()kind_physinFalse
sbcstefan_boltzmann_constantStefan-Boltzmann constantW m-2 K-4real()kind_physinFalse
pipiratio of a circle's circumference to its diameterradiansreal()kind_physinFalse
pssurface_air_pressuresurface pressurePareal(horizontal_dimension)kind_physinFalse
u1x_wind_at_lowest_model_layerx component of surface layer windm s-1real(horizontal_dimension)kind_physinFalse
v1y_wind_at_lowest_model_layery component of surface layer windm s-1real(horizontal_dimension)kind_physinFalse
t1air_temperature_at_lowest_model_layersurface layer mean temperatureKreal(horizontal_dimension)kind_physinFalse
q1water_vapor_specific_humidity_at_lowest_model_layersurface layer mean specific humiditykg kg-1real(horizontal_dimension)kind_physinFalse
trefsea_surface_reference_temperaturereference/foundation temperatureKreal(horizontal_dimension)kind_physinFalse
cmsurface_drag_coefficient_for_momentum_in_air_over_oceansurface exchange coeff for momentum over oceannonereal(horizontal_dimension)kind_physinFalse
chsurface_drag_coefficient_for_heat_and_moisture_in_air_over_oceansurface exchange coeff heat & moisture over oceannonereal(horizontal_dimension)kind_physinFalse
prsl1air_pressure_at_lowest_model_layersurface layer mean pressurePareal(horizontal_dimension)kind_physinFalse
prslkiratio_of_exner_function_between_midlayer_and_interface_at_lowest_model_layerExner function ratio bt midlayer and interface at 1st layerratioreal(horizontal_dimension)kind_physinFalse
prsik1dimensionless_exner_function_at_lowest_model_interfacedimensionless Exner function at the ground surfacenonereal(horizontal_dimension)kind_physinFalse
prslk1dimensionless_exner_function_at_lowest_model_layerdimensionless Exner function at the lowest model layernonereal(horizontal_dimension)kind_physinFalse
wetflag_nonzero_wet_surface_fractionflag indicating presence of some ocean or lake surface area fractionflaglogical(horizontal_dimension)inFalse
xlonlongitudelongituderadiansreal(horizontal_dimension)kind_physinFalse
sinlatsine_of_latitudesine of latitudenonereal(horizontal_dimension)kind_physinFalse
stresssurface_wind_stress_over_oceansurface wind stress over oceanm2 s-2real(horizontal_dimension)kind_physinFalse
sfcemissurface_longwave_emissivity_over_ocean_interstitialsurface lw emissivity in fraction over ocean (temporary use as interstitial)fracreal(horizontal_dimension)kind_physinFalse
dlwflxsurface_downwelling_longwave_flux_absorbed_by_ground_over_oceantotal sky surface downward longwave flux absorbed by the ground over oceanW m-2real(horizontal_dimension)kind_physinFalse
sfcnswsurface_net_downwelling_shortwave_fluxtotal sky sfc net sw flx into oceanW m-2real(horizontal_dimension)kind_physinFalse
rainnonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep_over_oceantotal precipitation amount in each time step over oceanmreal(horizontal_dimension)kind_physinFalse
timesteptime_step_for_dynamicstimestep intervalsreal()kind_physinFalse
kdtindex_of_time_stepcurrent time step indexindexinteger()inFalse
solhrforecast_hour_of_the_daytime in hours after 00z at the current timestephreal()kind_physinFalse
xcoszinstantaneous_cosine_of_zenith_anglecosine of solar zenith anglenonereal(horizontal_dimension)kind_physinFalse
windwind_speed_at_lowest_model_layerwind speed at lowest model levelm s-1real(horizontal_dimension)kind_physinFalse
flag_iterflag_for_iterationflag for iterationflaglogical(horizontal_dimension)inFalse
flag_guessflag_for_guess_runflag for guess runflaglogical(horizontal_dimension)inFalse
nstf_name1flag_for_nsstm_runNSSTM flag: off/uncoupled/coupled=0/1/2flaginteger()inFalse
nstf_name4vertical_temperature_average_range_lower_boundzsea1mminteger()inFalse
nstf_name5vertical_temperature_average_range_upper_boundzsea2mminteger()inFalse
lprntflag_printflag for printing diagnostics to outputflaglogical()inFalse
iprhorizontal_index_of_printed_columnhorizontal index of printed columnindexinteger()inFalse
tskinsurface_skin_temperature_for_nsstocean surface skin temperatureKreal(horizontal_dimension)kind_physinoutFalse
tsurfsurface_skin_temperature_after_iteration_over_oceansurface skin temperature after iteration over oceanKreal(horizontal_dimension)kind_physinoutFalse
xtdiurnal_thermocline_layer_heat_contentheat content in diurnal thermocline layerK mreal(horizontal_dimension)kind_physinoutFalse
xssea_water_salinitysalinity content in diurnal thermocline layerppt mreal(horizontal_dimension)kind_physinoutFalse
xudiurnal_thermocline_layer_x_currentu-current content in diurnal thermocline layerm2 s-1real(horizontal_dimension)kind_physinoutFalse
xvdiurnal_thermocline_layer_y_currentv-current content in diurnal thermocline layerm2 s-1real(horizontal_dimension)kind_physinoutFalse
xzdiurnal_thermocline_layer_thicknessdiurnal thermocline layer thicknessmreal(horizontal_dimension)kind_physinoutFalse
zmocean_mixed_layer_thicknessmixed layer thicknessmreal(horizontal_dimension)kind_physinoutFalse
xttssensitivity_of_dtl_heat_content_to_surface_temperatured(xt)/d(ts)mreal(horizontal_dimension)kind_physinoutFalse
xztssensitivity_of_dtl_thickness_to_surface_temperatured(xz)/d(ts)m K-1real(horizontal_dimension)kind_physinoutFalse
dt_coolsub_layer_cooling_amountsub-layer cooling amountKreal(horizontal_dimension)kind_physinoutFalse
z_csub_layer_cooling_thicknesssub-layer cooling thicknessmreal(horizontal_dimension)kind_physinoutFalse
c_0coefficient_c_0coefficient1 to calculate d(tz)/d(ts)nonereal(horizontal_dimension)kind_physinoutFalse
c_dcoefficient_c_dcoefficient2 to calculate d(tz)/d(ts)nonereal(horizontal_dimension)kind_physinoutFalse
w_0coefficient_w_0coefficient3 to calculate d(tz)/d(ts)nonereal(horizontal_dimension)kind_physinoutFalse
w_dcoefficient_w_dcoefficient4 to calculate d(tz)/d(ts)nonereal(horizontal_dimension)kind_physinoutFalse
d_convfree_convection_layer_thicknessthickness of free convection layermreal(horizontal_dimension)kind_physinoutFalse
ifdindex_of_dtlm_startindex to start dtlm run or notindexreal(horizontal_dimension)kind_physinoutFalse
qrainsensible_heat_flux_due_to_rainfallsensible heat flux due to rainfallWreal(horizontal_dimension)kind_physinoutFalse
qsurfsurface_specific_humidity_over_oceansurface air saturation specific humidity over oceankg kg-1real(horizontal_dimension)kind_physinoutFalse
gfluxupward_heat_flux_in_soil_over_oceansoil heat flux over oceanW m-2real(horizontal_dimension)kind_physinoutFalse
cmmsurface_drag_wind_speed_for_momentum_in_air_over_oceanmomentum exchange coefficient over oceanm s-1real(horizontal_dimension)kind_physinoutFalse
chhsurface_drag_mass_flux_for_heat_and_moisture_in_air_over_oceanthermal exchange coefficient over oceankg m-2 s-1real(horizontal_dimension)kind_physinoutFalse
evapkinematic_surface_upward_latent_heat_flux_over_oceankinematic surface upward latent heat flux over oceankg kg-1 m s-1real(horizontal_dimension)kind_physinoutFalse
hflxkinematic_surface_upward_sensible_heat_flux_over_oceankinematic surface upward sensible heat flux over oceanK m s-1real(horizontal_dimension)kind_physinoutFalse
epsurface_upward_potential_latent_heat_flux_over_oceansurface upward potential latent heat flux over oceanW m-2real(horizontal_dimension)kind_physinoutFalse
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*outFalse
errflgccpp_error_flagerror flag for error handling in CCPPflaginteger()outFalse

GFS Near-Surface Sea Temperature Scheme General Algorithm

Collaboration diagram for GFS Near-Surface Sea Temperature Scheme 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
 This module contains constants and parameters used in GFS near surface sea temperature scheme.
 
 GFS NSST Water Property
 This module contains GFS NSST water property subroutines.
 

Functions/Subroutines

subroutine sfc_nst::sfc_nst_run (im, hvap, cp, hfus, jcal, eps, epsm1, rvrdm1, rd, rhw0, pi, sbc, ps, u1, v1, t1, q1, tref, cm, ch, prsl1, prslki, prsik1, prslk1, wet, xlon, sinlat, stress, sfcemis, dlwflx, sfcnsw, rain, timestep, kdt, solhr, xcosz, wind, flag_iter, flag_guess, nstf_name1, nstf_name4, nstf_name5, lprnt, ipr, 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 )