CCPP Scientific Documentation
v5.0.0
GFS Three-layer Thermodynomics Sea-Ice Scheme Module

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

Detailed Description

Argument Table

sfc_sice_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintentoptional
imhorizontal_loop_extenthorizontal loop extentcountinteger()inFalse
kiceice_vertical_dimensionvertical loop extent for ice levels, start at 1countinteger()inFalse
sbcstefan_boltzmann_constantStefan-Boltzmann constantW m-2 K-4real()kind_physinFalse
hvaplatent_heat_of_vaporization_of_water_at_0Clatent heat of evaporation/sublimationJ kg-1real()kind_physinFalse
tgicefreezing_point_temperature_of_seawaterfreezing point temperature of seawaterKreal()kind_physinFalse
cpspecific_heat_of_dry_air_at_constant_pressurespecific heat of dry air at constant pressureJ kg-1 K-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
gravgravitational_accelerationgravitational accelerationm s-2real()kind_physinFalse
t0ctemperature_at_zero_celsiustemperature at 0 degree CelsiusKreal()kind_physinFalse
rdgas_constant_dry_airideal gas constant for dry airJ kg-1 K-1real()kind_physinFalse
pssurface_air_pressuresurface pressurePareal(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
delttime_step_for_dynamicstime stepsreal()kind_physinFalse
sfcemissurface_longwave_emissivity_over_ice_interstitialsurface lw emissivity in fraction over ice (temporary use as interstitial)fracreal(horizontal_dimension)kind_physinFalse
dlwflxsurface_downwelling_longwave_flux_absorbed_by_ground_over_icetotal sky surface downward longwave flux absorbed by the ground over iceW m-2real(horizontal_dimension)kind_physinFalse
sfcnswsurface_net_downwelling_shortwave_fluxtotal sky sfc netsw flx into groundW m-2real(horizontal_dimension)kind_physinFalse
sfcdswsurface_downwelling_shortwave_fluxtotal sky sfc downward sw fluxW m-2real(horizontal_dimension)kind_physinFalse
srflagflag_for_precipitation_typesnow/rain flag for precipitationflagreal(horizontal_dimension)kind_physinFalse
cmsurface_drag_coefficient_for_momentum_in_air_over_icesurface exchange coeff for momentum over icenonereal(horizontal_dimension)kind_physinFalse
chsurface_drag_coefficient_for_heat_and_moisture_in_air_over_icesurface exchange coeff heat & moisture over icenonereal(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
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
lprntflag_printswitch for printing sample column to stdoutflaglogical()inFalse
iprhorizontal_index_of_printed_columnhorizontal index of printed columnindexinteger()inFalse
hicesea_ice_thicknesssea-ice thicknessmreal(horizontal_dimension)kind_physinoutFalse
ficesea_ice_concentrationsea-ice concentration [0,1]fracreal(horizontal_dimension)kind_physinoutFalse
ticesea_ice_temperature_interstitialsea-ice surface temperature use as interstitialKreal(horizontal_dimension)kind_physinoutFalse
weasdwater_equivalent_accumulated_snow_depth_over_icewater equiv of acc snow depth over icemmreal(horizontal_dimension)kind_physinoutFalse
tskinsurface_skin_temperature_over_ice_interstitialsurface skin temperature over ice (temporary use as interstitial)Kreal(horizontal_dimension)kind_physinoutFalse
tprcpnonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep_over_icetotal precipitation amount in each time step over icemreal(horizontal_dimension)kind_physinoutFalse
tiiceinternal_ice_temperaturesea ice internal temperatureKreal(horizontal_dimension, ice_vertical_dimension)kind_physinoutFalse
epsurface_upward_potential_latent_heat_flux_over_icesurface upward potential latent heat flux over iceW m-2real(horizontal_dimension)kind_physinoutFalse
snwdphsurface_snow_thickness_water_equivalent_over_icewater equivalent snow depth over icemmreal(horizontal_dimension)kind_physinoutFalse
qsurfsurface_specific_humidity_over_icesurface air saturation specific humidity over icekg kg-1real(horizontal_dimension)kind_physinoutFalse
snowmtsurface_snow_meltsnow melt during timestepmreal(horizontal_dimension)kind_physinoutFalse
gfluxupward_heat_flux_in_soil_over_icesoil heat flux over iceW m-2real(horizontal_dimension)kind_physinoutFalse
cmmsurface_drag_wind_speed_for_momentum_in_air_over_icemomentum exchange coefficient over icem s-1real(horizontal_dimension)kind_physinoutFalse
chhsurface_drag_mass_flux_for_heat_and_moisture_in_air_over_icethermal exchange coefficient over icekg m-2 s-1real(horizontal_dimension)kind_physinoutFalse
evapkinematic_surface_upward_latent_heat_flux_over_icekinematic surface upward latent heat flux over icekg kg-1 m s-1real(horizontal_dimension)kind_physinoutFalse
hflxkinematic_surface_upward_sensible_heat_flux_over_icekinematic surface upward sensible heat flux over iceK m s-1real(horizontal_dimension)kind_physinoutFalse
frac_gridflag_for_fractional_gridflag for fractional gridflaglogical()inFalse
icyflag_nonzero_sea_ice_surface_fractionflag indicating presence of some sea ice surface area fractionflaglogical(horizontal_dimension)inFalse
islmsk_cicesea_land_ice_mask_cicesea/land/ice mask cice (=0/1/2)flaginteger(horizontal_dimension)inFalse
min_lakeicelake_ice_minimumminimum lake ice valuefracreal()kind_physinFalse
min_seaicesea_ice_minimumminimum sea ice valuefracreal()kind_physinFalse
oceanfracsea_area_fractionfraction of horizontal grid area occupied by oceanfracreal(horizontal_dimension)kind_physinFalse
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*outFalse
errflgccpp_error_flagerror flag for error handling in CCPPflaginteger()outFalse

GFS Sea Ice Driver 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.

GFS_sice_wonton2000_fig1.png
Fig.1 Schematic representation of the three-layer model

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

GFS Sea Ice Driver Detailed Algorithm

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, lprnt, ipr, hice, fice, tice, weasd, tskin, tprcp, tiice, ep, snwdph, qsurf, snowmt, gflux, cmm, chh, evap, hflx, frac_grid, icy, islmsk_cice, min_lakeice, min_seaice, oceanfrac, errmsg, errflg
 
subroutine ice3lay
 This subroutine is the entity of three-layer sea ice vertical thermodynamics based on Winton(2000) [178] . More...