next up previous contents
Next: 4.28 Fortran: Module Interface Up: 4 Module Descriptions Previous: 4.26 Fortran: Module Interface   Contents

Subsections

4.27 Fortran: Module Interface ice_therm_driver - driver for thermodynamics and itd (Source File: ice_therm_driver.F)

Energy-conserving sea ice model
Driver for thermodynamics and associated changes to the itd

See Bitz, C.M., and W.H. Lipscomb, 1999: An energy-conserving thermodynamic model of sea ice, J. Geophys. Res., 104, 15,669-15,677.

See Bitz, C.M., M.M. Holland, A.J. Weaver, M. Eby, 2001: Simulating the ice-thickness distribution in a climate model, J. Geophys. Res., 106, 2441-2464.


REVISION HISTORY:

   author C. M. Bitz
   code heavily modified by Elizabeth C. Hunke, LANL
INTERFACE:
       module ice_therm_driver
USES:
       use ice_kinds_mod
       use ice_model_size
       use ice_constants
       use ice_state
       use ice_flux
       use ice_diagnostics
       use ice_calendar

4.27.1 thermo_rates - compute thermo growth rates and atm fluxes


INTERFACE:

       subroutine thermo_rates
DESCRIPTION:

compute thermodynamic growth rates and atmospheric fluxes


REVISION HISTORY:

   authors: C.M.Bitz (UW) 
   modified by: E.C.Hunke (LANL).
USES:
       use ice_domain
       use ice_timers
       use ice_vthermo
       use ice_grid
       use ice_itd
       use ice_init
INPUT/OUTPUT PARAMETERS:


4.27.2 thermo_itd - changes in itd due to thermodynamic growth


INTERFACE:

       subroutine thermo_itd
DESCRIPTION:

Changes to ice thickness distribution associated with thermodynamic growth rates, including lateral growth/melt
NOTE: ocean fluxes are initialized here


REVISION HISTORY:

   authors: C.M.Bitz (UW) 
   modified by: E.C.Hunke (LANL).
USES:
       use ice_domain
       use ice_timers
       use ice_history
       use ice_grid
       use ice_itd
       use ice_itd_linear
       use ice_init
INPUT/OUTPUT PARAMETERS:


4.27.3 init_column_diags - initialize column diagnostics


INTERFACE:

       subroutine init_column_diags(i,j,hfatm)
DESCRIPTION:

initialize diagnostic and history variables


REVISION HISTORY:

   authors: C.M.Bitz (UW) 
   modified by: E.C.Hunke (LANL).
USES:
       use ice_history
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind) :: i, j
       real (kind=dbl_kind), intent(out) ::
      &   hfatm       ! heat flx  to ice-snow from atm  (J/m**2)

4.27.4 init_vertical_profile - initialize vertical ice profile


INTERFACE:

       subroutine init_vertical_profile(i,j,ei0,hin,hsn,tiz)
DESCRIPTION:

initialize the vertical profile of ice properties


REVISION HISTORY:

   authors: C.M.Bitz (UW) 
   modified by: E.C.Hunke (LANL).
USES:
       use ice_vthermo
       use ice_itd
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind), intent(in) :: i,j
 
       real (kind=dbl_kind), intent(out) :: 
      &   ei0                ! initial energy in ice/snow        (J/m**2)
      &,  hin(ncat)          ! ice thickness for each cat        (m)
      &,  hsn(ncat)          ! snow thickness for each cat       (m)
      &,  tiz(0:nmax,ncat)   ! temp of each layer for each cat   (C)

4.27.5 init_frzmlt - initialize ocean-ice heat fluxes, bottom and lateral


INTERFACE:

       subroutine init_frzmlt(i,j,Fbot,Fnew,Rside)
DESCRIPTION:

Initialize ocean-ice heat fluxes: bottom and lateral
Assuming frzmlt is per grid box area


REVISION HISTORY:

   authors: C.M.Bitz (UW) 
   modified by: E.C.Hunke (LANL).
USES:
       use ice_itd
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind), intent(in) :: i, j
       real (kind=dbl_kind), intent(out) ::
      &   Fbot        ! heat flx to ice bottom,         (W/m**2)
      &,  Fnew        ! heat flx to open water,         (W/m**2)
      &,  Rside       ! fraction of ice that melts from side

4.27.6 lateral_growth_melt - frazil ice growth and lateral melt


INTERFACE:

       subroutine lateral_growth_melt(i,j,Fnew,Rside,hin)
DESCRIPTION:

frazil ice growth / lateral melt


REVISION HISTORY:

   authors: C.M.Bitz (UW) 
   modified by: E.C.Hunke (LANL).
USES:
       use ice_vthermo
       use ice_history
       use ice_itd
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind), intent(in) :: i,j
 
       real (kind=dbl_kind), intent(in) ::
      &   Fnew        ! heat flx to open water            (W/m**2)
      &,  Rside       ! fraction of ice that melts from side
 
       real (kind=dbl_kind), intent(inout) ::
      &   hin(ncat)   ! ice thickness for each cat        (m)

4.27.7 reduce_area - reduce area when ice melts for special case ncat=1


INTERFACE:

       subroutine reduce_area(i,j,dhi1,hin,hsn)
DESCRIPTION:

Reduce area when ice melts for special case of ncat=1

Use CSM 1.0-like method of reducing ice area when melting occurs: assume only half the ice volume change goes to thickness decrease, the other half to reduction in ice fraction


REVISION HISTORY:

   authors: C.M.Bitz (UW) 
   modified by: E.C.Hunke (LANL).
USES:
       use ice_kinds_mod
       use ice_constants
       use ice_flux  !! not necessary if rebin is called instead
       use ice_state
       use ice_itd
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind), intent(in) :: i,j
 
       real (kind=dbl_kind), intent(in) ::
      &  dhi1          ! melt at bottom and top plus sublimation  (m)
 
       real (kind=dbl_kind), intent(inout) ::
      &   hin(ncat)    ! ice thickness for each cat               (m)
      &,  hsn(ncat)    ! ice thickness for each cat               (m)

4.27.8 conservation_check - enforce ice property conservation


INTERFACE:

       subroutine conservation_check(i,j,ei0,hfatm,hfocn)
DESCRIPTION:

Make sure ice properties are properly conserved


REVISION HISTORY:

   authors: C.M.Bitz (UW) 
   modified by: E.C.Hunke (LANL).
USES:
       use ice_itd
INPUT/OUTPUT PARAMETERS:
       integer (kind=int_kind), intent(in) :: i, j
 
       real (kind=dbl_kind), intent(in) ::
      &   ei0         ! initial energy in ice/snow      (J/m**2)
      &,  hfatm       ! heat flx  to ice-snow from atm  (J/m**2)
      &,  hfocn       ! heat flx  to ice-snow from ocn  (J/m**2)


next up previous contents
Next: 4.28 Fortran: Module Interface Up: 4 Module Descriptions Previous: 4.26 Fortran: Module Interface   Contents
csm@ucar.edu