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

◆ sfc_sice_run()

subroutine sfc_sice::sfc_sice_run ( integer, intent(in)  im,
integer, intent(in)  kice,
real (kind=kind_phys), intent(in)  sbc,
real (kind=kind_phys), intent(in)  hvap,
real (kind=kind_phys), intent(in)  tgice,
real (kind=kind_phys), intent(in)  cp,
real (kind=kind_phys), intent(in)  eps,
real (kind=kind_phys), intent(in)  epsm1,
real (kind=kind_phys), intent(in)  rvrdm1,
real (kind=kind_phys), intent(in)  grav,
real (kind=kind_phys), intent(in)  t0c,
real (kind=kind_phys), intent(in)  rd,
real (kind=kind_phys), dimension(:), intent(in)  ps,
real (kind=kind_phys), dimension(:), intent(in)  t1,
real (kind=kind_phys), dimension(:), intent(in)  q1,
real (kind=kind_phys), intent(in)  delt,
real (kind=kind_phys), dimension(:), intent(in)  sfcemis,
real (kind=kind_phys), dimension(:), intent(in)  dlwflx,
real (kind=kind_phys), dimension(:), intent(in)  sfcnsw,
real (kind=kind_phys), dimension(:), intent(in)  sfcdsw,
real (kind=kind_phys), dimension(:), intent(in)  srflag,
real (kind=kind_phys), dimension(:), intent(in)  cm,
real (kind=kind_phys), dimension(:), intent(in)  ch,
real (kind=kind_phys), dimension(:), intent(in)  prsl1,
real (kind=kind_phys), dimension(:), intent(in)  prslki,
real (kind=kind_phys), dimension(:), intent(in)  prsik1,
real (kind=kind_phys), dimension(:), intent(in)  prslk1,
real (kind=kind_phys), dimension(:), intent(in)  wind,
logical, dimension(im), intent(in)  flag_iter,
logical, dimension(im), intent(in)  use_flake,
logical, intent(in)  lprnt,
integer, intent(in)  ipr,
logical, intent(in)  thsfc_loc,
real (kind=kind_phys), dimension(:), intent(inout)  hice,
real (kind=kind_phys), dimension(:), intent(inout)  fice,
real (kind=kind_phys), dimension(:), intent(inout)  tice,
real (kind=kind_phys), dimension(:), intent(inout)  weasd,
real (kind=kind_phys), dimension(:), intent(inout)  tsfc_wat,
real (kind=kind_phys), dimension(:), intent(inout)  tprcp,
real (kind=kind_phys), dimension(:,:), intent(inout)  tiice,
real (kind=kind_phys), dimension(:), intent(inout)  ep,
real (kind=kind_phys), dimension(:), intent(inout)  snwdph,
real (kind=kind_phys), dimension(:), intent(inout)  qss_i,
real (kind=kind_phys), dimension(:), intent(inout)  qss_w,
real (kind=kind_phys), dimension(:), intent(inout)  snowmt,
real (kind=kind_phys), dimension(:), intent(inout)  gflux,
real (kind=kind_phys), dimension(:), intent(inout)  cmm,
real (kind=kind_phys), dimension(:), intent(inout)  chh,
real (kind=kind_phys), dimension(:), intent(inout)  evapi,
real (kind=kind_phys), dimension(:), intent(inout)  evapw,
real (kind=kind_phys), dimension(:), intent(inout)  hflxi,
real (kind=kind_phys), dimension(:), intent(inout)  hflxw,
integer, dimension(:), intent(in)  islmsk,
character(len=*), intent(out)  errmsg,
integer, intent(out)  errflg 
)

program history log:

  • 2005 – xingren wu created from original progtm and added two-layer ice model
  • 200x – sarah lu added flag_iter
  • oct 2006 – h. wei added cmm and chh to output
  • 2007 – x. wu modified for mom4 coupling (i.e. cpldice) (not used anymore)
  • 2007 – s. moorthi micellaneous changes
  • may 2009 – y.-t. hou modified to include surface emissivity effect on lw radiation. replaced the confusing slrad with sfc net sw sfcnsw (dn-up). reformatted the code and add program documentation block.
  • sep 2009 – s. moorthi removed rcl, changed pressure units and further optimized
  • jan 2015 – x. wu change "cimin = 0.15" for both uncoupled and coupled case
  • Set flag for sea-ice.
  • Convert snow depth in water equivalent from mm to m unit.
  • Calculate sensible and latent heat flux over open water & sea ice.
  • Calculate net solar incoming at top sneti.
  • Calculate net non-solar and upir heat flux @ ice surface hfi.
  • Calculate heat flux derivative at surface hfd.
  • Assigin heat flux from ocean focn and snowfall rate as constants, which should be from ocean model and other physics.
  • Initialize snow depth snowd.
  • Call the three-layer thermodynamics sea ice model ice3lay().

References ice3lay().

Here is the call graph for this function: