This subroutine calls the Thermal Skin-layer and Diurnal Thermocline models to update the NSST profile. More...
local_name | standard_name | long_name | units | rank | type | kind | intent | optional |
---|---|---|---|---|---|---|---|---|
im | horizontal_loop_extent | horizontal loop extent | count | 0 | integer | in | F | |
km | soil_vertical_dimension | vertical layer dimension | count | 0 | integer | in | F | |
ps | surface_air_pressure | surface pressure | Pa | 1 | real | kind_phys | in | F |
u1 | x_wind_at_lowest_model_layer | x component of surface layer wind | m s-1 | 1 | real | kind_phys | in | F |
v1 | y_wind_at_lowest_model_layer | y component of surface layer wind | m s-1 | 1 | real | kind_phys | in | F |
t1 | air_temperature_at_lowest_model_layer | surface layer mean temperature | K | 1 | real | kind_phys | in | F |
q1 | specific_humidity_at_lowest_model_layer | surface layer mean specific humidity | kg kg-1 | 1 | real | kind_phys | in | F |
tref | sea_surface_reference_temperature | reference/foundation temperature | K | 1 | real | kind_phys | in | F |
cm | surface_drag_coefficient_for_momentum_in_air | surface exchange coeff for momentum | none | 1 | real | kind_phys | in | F |
ch | surface_drag_coefficient_for_heat_and_moisture_in_air | surface exchange coeff heat & moisture | none | 1 | real | kind_phys | in | F |
prsl1 | air_pressure_at_lowest_model_layer | surface layer mean pressure | Pa | 1 | real | kind_phys | in | F |
prslki | ratio_of_exner_function_between_midlayer_and_interface_at_lowest_model_layer | Exner function ratio bt midlayer and interface at 1st layer | ratio | 1 | real | kind_phys | in | F |
islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | in | F | |
xlon | longitude | longitude | radians | 1 | real | kind_phys | in | F |
sinlat | sine_of_latitude | sin of latitude | none | 1 | real | kind_phys | in | F |
stress | surface_wind_stress | wind stress | m2 s-2 | 1 | real | kind_phys | in | F |
sfcemis | surface_longwave_emissivity | surface longwave emissivity | frac | 1 | real | kind_phys | in | F |
dlwflx | surface_downwelling_longwave_flux_absorbed_by_ground | total sky sfc downward lw flux absorbed by the ocean | W m-2 | 1 | real | kind_phys | in | F |
sfcnsw | surface_net_downwelling_shortwave_flux | total sky sfc net sw flx into ocean | W m-2 | 1 | real | kind_phys | in | F |
rain | nonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep | nonnegative precipitation amount on dyn time step | m | 1 | real | kind_phys | in | F |
timestep | time_step_for_dynamics | timestep interval | s | 0 | real | kind_phys | in | F |
kdt | index_of_time_step | current time step index | index | 0 | integer | in | F | |
solhr | forecast_hour | fcst hour at the end of prev time step | h | 0 | real | kind_phys | in | F |
xcosz | instantaneous_cosine_of_zenith_angle | cosine of solar zenith angle | none | 1 | real | kind_phys | in | F |
ddvel | surface_wind_enhancement_due_to_convection | wind enhancement due to convection | m s-1 | 1 | real | kind_phys | in | F |
flag_iter | flag_for_iteration | flag for iteration | flag | 1 | logical | in | F | |
flag_guess | flag_for_guess_run | flag for guess run | flag | 1 | logical | in | F | |
nstf_name1 | flag_for_nsstm_run | NSSTM flag: off/uncoupled/coupled=0/1/2 | flag | 0 | integer | in | F | |
nstf_name4 | vertical_temperature_average_range_lower_bound | zsea1 | mm | 0 | integer | in | F | |
nstf_name5 | vertical_temperature_average_range_upper_bound | zsea2 | mm | 0 | integer | in | F | |
lprnt | flag_print | flag for printing diagnostics to output | flag | 0 | logical | in | F | |
ipr | horizontal_index_of_printed_column | horizontal index of printed column | index | 0 | integer | in | F | |
tskin | surface_skin_temperature_for_nsst | ocean surface skin temperature | K | 1 | real | kind_phys | inout | F |
tsurf | surface_skin_temperature_after_iteration | ocean surface skin temperature for guess run | K | 1 | real | kind_phys | inout | F |
xt | diurnal_thermocline_layer_heat_content | heat content in diurnal thermocline layer | K m | 1 | real | kind_phys | inout | F |
xs | sea_water_salinity | salinity content in diurnal thermocline layer | ppt m | 1 | real | kind_phys | inout | F |
xu | diurnal_thermocline_layer_x_current | u-current content in diurnal thermocline layer | m2 s-1 | 1 | real | kind_phys | inout | F |
xv | diurnal_thermocline_layer_y_current | v-current content in diurnal thermocline layer | m2 s-1 | 1 | real | kind_phys | inout | F |
xz | diurnal_thermocline_layer_thickness | diurnal thermocline layer thickness | m | 1 | real | kind_phys | inout | F |
zm | ocean_mixed_layer_thickness | mixed layer thickness | m | 1 | real | kind_phys | inout | F |
xtts | sensitivity_of_dtl_heat_content_to_surface_temperature | d(xt)/d(ts) | m | 1 | real | kind_phys | inout | F |
xzts | sensitivity_of_dtl_thickness_to_surface_temperature | d(xz)/d(ts) | m K-1 | 1 | real | kind_phys | inout | F |
dt_cool | sub-layer_cooling_amount | sub-layer cooling amount | K | 1 | real | kind_phys | inout | F |
z_c | sub-layer_cooling_thickness | sub-layer cooling thickness | m | 1 | real | kind_phys | inout | F |
c_0 | coefficient_c_0 | coefficient1 to calculate d(tz)/d(ts) | none | 1 | real | kind_phys | inout | F |
c_d | coefficient_c_d | coefficient2 to calculate d(tz)/d(ts) | none | 1 | real | kind_phys | inout | F |
w_0 | coefficient_w_0 | coefficient3 to calculate d(tz)/d(ts) | none | 1 | real | kind_phys | inout | F |
w_d | coefficient_w_d | coefficient4 to calculate d(tz)/d(ts) | none | 1 | real | kind_phys | inout | F |
d_conv | free_convection_layer_thickness | thickness of free convection layer | m | 1 | real | kind_phys | inout | F |
ifd | index_of_dtlm_start | index to start dtlm run or not | index | 1 | real | kind_phys | inout | F |
qrain | sensible_heat_flux_due_to_rainfall | sensible heat flux due to rainfall | W | 1 | real | kind_phys | inout | F |
qsurf | surface_specific_humidity | surface air saturation specific humidity | kg kg-1 | 1 | real | kind_phys | inout | F |
gflux | upward_heat_flux_in_soil | soil heat flux | W m-2 | 1 | real | kind_phys | inout | F |
cmm | surface_drag_wind_speed_for_momentum_in_air | surf mom exch coef time mean surf wind | m s-1 | 1 | real | kind_phys | inout | F |
chh | surface_drag_mass_flux_for_heat_and_moisture_in_air | surf h&m exch coef time surf wind & density | kg m-2 s-1 | 1 | real | kind_phys | inout | F |
evap | kinematic_surface_upward_latent_heat_flux | kinematic from latent heat flux | kg kg-1 m s-1 | 1 | real | kind_phys | inout | F |
hflx | kinematic_surface_upward_sensible_heat_flux | kinematic sensible heat flux | K m s-1 | 1 | real | kind_phys | inout | F |
ep | surface_upward_potential_latent_heat_flux | potential evaporation | W m-2 | 1 | real | kind_phys | inout | F |
errmsg | error_message | error message for error handling in CCPP | none | 0 | character | len=* | out | F |
errflg | error_flag | error flag for error handling in CCPP | flag | 0 | integer | out | F |
Functions/Subroutines | |
subroutine | sfc_nst::sfc_nst_run (im, km, ps, u1, v1, t1, q1, tref, cm, ch, prsl1, prslki, islimsk, xlon, sinlat, stress, sfcemis, dlwflx, sfcnsw, rain, timestep, kdt, solhr, xcosz, ddvel, 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 ) |
subroutine sfc_nst::sfc_nst_run | ( | integer, intent(in) | im, |
integer, intent(in) | km, | ||
real (kind=kind_phys), dimension(im), intent(in) | ps, | ||
real (kind=kind_phys), dimension(im), intent(in) | u1, | ||
real (kind=kind_phys), dimension(im), intent(in) | v1, | ||
real (kind=kind_phys), dimension(im), intent(in) | t1, | ||
real (kind=kind_phys), dimension(im), intent(in) | q1, | ||
real (kind=kind_phys), dimension(im), intent(in) | tref, | ||
real (kind=kind_phys), dimension(im), intent(in) | cm, | ||
real (kind=kind_phys), dimension(im), intent(in) | ch, | ||
real (kind=kind_phys), dimension(im), intent(in) | prsl1, | ||
real (kind=kind_phys), dimension(im), intent(in) | prslki, | ||
integer, dimension(im), intent(in) | islimsk, | ||
real (kind=kind_phys), dimension(im), intent(in) | xlon, | ||
real (kind=kind_phys), dimension(im), intent(in) | sinlat, | ||
real (kind=kind_phys), dimension(im), intent(in) | stress, | ||
real (kind=kind_phys), dimension(im), intent(in) | sfcemis, | ||
real (kind=kind_phys), dimension(im), intent(in) | dlwflx, | ||
real (kind=kind_phys), dimension(im), intent(in) | sfcnsw, | ||
real (kind=kind_phys), dimension(im), intent(in) | rain, | ||
real (kind=kind_phys), intent(in) | timestep, | ||
integer, intent(in) | kdt, | ||
real (kind=kind_phys), intent(in) | solhr, | ||
real (kind=kind_phys), dimension(im), intent(in) | xcosz, | ||
real (kind=kind_phys), dimension(im), intent(in) | ddvel, | ||
logical, dimension(im), intent(in) | flag_iter, | ||
logical, dimension(im), intent(in) | flag_guess, | ||
integer, intent(in) | nstf_name1, | ||
integer, intent(in) | nstf_name4, | ||
integer, intent(in) | nstf_name5, | ||
logical, intent(in) | lprnt, | ||
integer, intent(in) | ipr, | ||
real (kind=kind_phys), dimension(im), intent(inout) | tskin, | ||
real (kind=kind_phys), dimension(im), intent(inout) | tsurf, | ||
real (kind=kind_phys), dimension(im), intent(inout) | xt, | ||
real (kind=kind_phys), dimension(im), intent(inout) | xs, | ||
real (kind=kind_phys), dimension(im), intent(inout) | xu, | ||
real (kind=kind_phys), dimension(im), intent(inout) | xv, | ||
real (kind=kind_phys), dimension(im), intent(inout) | xz, | ||
real (kind=kind_phys), dimension(im), intent(inout) | zm, | ||
real (kind=kind_phys), dimension(im), intent(inout) | xtts, | ||
real (kind=kind_phys), dimension(im), intent(inout) | xzts, | ||
real (kind=kind_phys), dimension(im), intent(inout) | dt_cool, | ||
real (kind=kind_phys), dimension(im), intent(inout) | z_c, | ||
real (kind=kind_phys), dimension(im), intent(inout) | c_0, | ||
real (kind=kind_phys), dimension(im), intent(inout) | c_d, | ||
real (kind=kind_phys), dimension(im), intent(inout) | w_0, | ||
real (kind=kind_phys), dimension(im), intent(inout) | w_d, | ||
real (kind=kind_phys), dimension(im), intent(inout) | d_conv, | ||
real (kind=kind_phys), dimension(im), intent(inout) | ifd, | ||
real (kind=kind_phys), dimension(im), intent(inout) | qrain, | ||
real (kind=kind_phys), dimension(im), intent(inout) | qsurf, | ||
real (kind=kind_phys), dimension(im), intent(inout) | gflux, | ||
real (kind=kind_phys), dimension(im), intent(inout) | cmm, | ||
real (kind=kind_phys), dimension(im), intent(inout) | chh, | ||
real (kind=kind_phys), dimension(im), intent(inout) | evap, | ||
real (kind=kind_phys), dimension(im), intent(inout) | hflx, | ||
real (kind=kind_phys), dimension(im), intent(inout) | ep, | ||
character(len=*), intent(out) | errmsg, | ||
integer, intent(out) | errflg | ||
) |