CCPP SciDoc  v6.0.0
Common Community Physics Package Developed at DTC
GFS sfc_sice Module

This is three-layer thermodynomics sea-ice model based on Winton (2000) [188]. More...

Functions/Subroutines

subroutine sfc_sice::sfc_sice_run (im, kice, sbc, hvap, tgice, cp, eps, epsm1, rvrdm1, grav, t0c, rd, ps, t1, q1, delt, sfcemis, dlwflx, sfcnsw, sfcdsw, srflag, cm, ch, prsl1, prslki, prsik1, prslk1, wind, flag_iter, use_flake, lprnt, ipr, thsfc_loc, hice, fice, tice, weasd, tsfc_wat, tprcp, tiice, ep, snwdph, qss_i, qss_w, snowmt, gflux, cmm, chh, evapi, evapw, hflxi, hflxw, islmsk, errmsg, errflg
 
subroutine ice3lay
 This subroutine is the entity of three-layer sea ice vertical thermodynamics based on Winton(2000) [188] . More...
 

Detailed Description

General Algorithm

The model has four prognostic variables: the snow layer thickness \(h_s\), the ice layer thickness \(h_i\), the upper and lower ice layer temperatures located at the midpoints of the layers \(h_i/4\) and \(3h_i/4\) below the ice surface, respectively \(T_1\) and \(T_2\). The temperature of the bottom of the ice is fixed at \(T_f\), the freezing temperature of seawater. The temperature of the top of the ice or snow, \(T_s\), is determined from the surface energy balance. The model consists of a zero-heat-capacity snow layer overlying two equally thick sea ice layers (Figure 1). The upper ice layer has a variable heat capacity to represent brine pockets.

Fig.1 Schematic representation of the three-layer model

The ice model main program ice3lay() performs two functions:

Detailed Algorithm

Argument Table

sfc_sice_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintent
imhorizontal_loop_extenthorizontal loop extentcountinteger()in
kicevertical_dimension_of_sea_icevertical loop extent for ice levels, start at 1countinteger()in
sbcstefan_boltzmann_constantStefan-Boltzmann constantW m-2 K-4real()kind_physin
hvaplatent_heat_of_vaporization_of_water_at_0clatent heat of evaporation/sublimationJ kg-1real()kind_physin
tgicefreezing_point_temperature_of_seawaterfreezing point temperature of seawaterKreal()kind_physin
cpspecific_heat_of_dry_air_at_constant_pressurespecific heat of dry air at constant pressureJ kg-1 K-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
gravgravitational_accelerationgravitational accelerationm s-2real()kind_physin
t0ctemperature_at_zero_celsiustemperature at 0 degree CelsiusKreal()kind_physin
rdgas_constant_of_dry_airideal gas constant for dry airJ kg-1 K-1real()kind_physin
pssurface_air_pressuresurface pressurePareal(ccpp_constant_one:horizontal_loop_extent)kind_physin
t1air_temperature_at_surface_adjacent_layersurface layer mean temperatureKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
q1specific_humidity_at_surface_adjacent_layersurface layer mean specific humiditykg kg-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
delttimestep_for_dynamicstime stepsreal()kind_physin
sfcemissurface_longwave_emissivity_over_icesurface lw emissivity in fraction over icefracreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
dlwflxsurface_downwelling_longwave_flux_absorbed_by_ground_over_icetotal sky surface downward longwave flux absorbed by the ground over iceW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physin
sfcnswsurface_net_downwelling_shortwave_fluxtotal sky sfc netsw flx into groundW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physin
sfcdswsurface_downwelling_shortwave_fluxtotal sky sfc downward sw fluxW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physin
srflagprecipitation_typesnow/rain flag for precipitationflagreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
cmsurface_drag_coefficient_for_momentum_in_air_over_icesurface exchange coeff for momentum over icenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
chsurface_drag_coefficient_for_heat_and_moisture_in_air_over_icesurface exchange coeff heat & moisture over icenonereal(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
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
use_flakeflag_for_using_flakeflag indicating lake points using flake modelflaglogical(ccpp_constant_one:horizontal_loop_extent)in
lprntflag_printswitch for printing sample column to stdoutflaglogical()in
iprhorizontal_index_of_printed_columnhorizontal index of printed columnindexinteger()in
thsfc_locflag_for_reference_pressure_thetaflag for reference pressure in theta calculationflaglogical()in
hicesea_ice_thicknesssea-ice thicknessmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
ficesea_ice_area_fraction_of_sea_area_fractionsea-ice concentration [0,1]fracreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
ticesurface_skin_temperature_over_icesurface skin temperature over iceKreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
weasdwater_equivalent_accumulated_snow_depth_over_icewater equiv of acc snow depth over icemmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
tsfc_watsurface_skin_temperature_over_watersurface skin temperature over waterKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
tprcpnonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep_over_icetotal precipitation amount in each time step over icemreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
tiicetemperature_in_ice_layersea ice internal temperatureKreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_dimension_of_sea_ice)kind_physinout
epsurface_upward_potential_latent_heat_flux_over_icesurface upward potential latent heat flux over iceW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
snwdphsurface_snow_thickness_water_equivalent_over_icewater equivalent snow depth over icemmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
qss_isurface_specific_humidity_over_icesurface air saturation specific humidity over icekg kg-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
qss_wsurface_specific_humidity_over_watersurface air saturation specific humidity over waterkg kg-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
snowmtsurface_snow_meltsnow melt during timestepmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
gfluxupward_heat_flux_in_soil_over_icesoil heat flux over iceW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
cmmsurface_drag_wind_speed_for_momentum_in_air_over_icemomentum exchange coefficient over icem s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
chhsurface_drag_mass_flux_for_heat_and_moisture_in_air_over_icethermal exchange coefficient over icekg m-2 s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
evapikinematic_surface_upward_latent_heat_flux_over_icekinematic surface upward latent heat flux over icekg kg-1 m s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
evapwkinematic_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_physin
hflxikinematic_surface_upward_sensible_heat_flux_over_icekinematic surface upward sensible heat flux over iceK m s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
hflxwkinematic_surface_upward_sensible_heat_flux_over_waterkinematic surface upward sensible heat flux over waterK m s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
islmsksea_land_ice_mask_cicesea/land/ice mask cice (=0/1/2)flaginteger(ccpp_constant_one:horizontal_loop_extent)in
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*out
errflgccpp_error_codeerror code for error handling in CCPP1integer()out