stim_obsice.F90 Source File


This file depends on

sourcefile~~stim_obsice.f90~~EfferentGraph sourcefile~stim_obsice.f90 stim_obsice.F90 sourcefile~stim_variables.f90 stim_variables.F90 sourcefile~stim_obsice.f90->sourcefile~stim_variables.f90

Contents

Source Code


Source Code

!-----------------------------------------------------------------------
!BOP
!
! !MODULE: 'obsice' ice module
!
! !INTERFACE:
   module stim_obsice
!
! !DESCRIPTION:
!  https://agupubs.onlinelibrary.wiley.com/doi/10.1002/2016JC012199
!
! !USES:
   use stim_variables, only: transmissivity, albedo_ice
   use stim_variables, only: rk, Hice, dHis, dHib, Tf, fdd
   use stim_variables, only: rho_ice, L_ice, ocean_ice_flux
   IMPLICIT NONE
!  Default all is private.
   private
!
! !PUBLIC MEMBER FUNCTIONS:
   public init_stim_obsice, do_stim_obsice, clean_stim_obsice
!
! !PUBLIC DATA MEMBERS:
!
! !PRIVATE DATA MEMBERS:
!
! !REVISION HISTORY:
!  Original author(s): Karsten Bolding
!
!EOP
!-----------------------------------------------------------------------

   contains

!-----------------------------------------------------------------------
!BOP
!
! !IROUTINE: Initialisation of the ice variables
!
! !INTERFACE:
   subroutine init_stim_obsice(ice_cover)
!
! !DESCRIPTION:
!
! !USES:
   IMPLICIT NONE
!
! !INPUT PARAMETERS:
! !INPUT PARAMETERS:
!
! !INPUT/OUTPUT PARAMETERS:
   integer, intent(inout)  :: ice_cover
!
! !REVISION HISTORY:
!  Original author(s): Karsten Bolding
!
!  See log for the ice module
!
! !LOCAL VARIABLES:
   integer                   :: rc
!EOP
!-----------------------------------------------------------------------
!BOC
   end subroutine init_stim_obsice
!EOC

!-----------------------------------------------------------------------
!BOP
!
! !IROUTINE: do the 'obsice' ice calculations
!
! !INTERFACE:
   subroutine do_stim_obsice(ice_cover,Tw,S,Ta)
!
! !DESCRIPTION:
!
! !USES:
   IMPLICIT NONE
!
! !INPUT PARAMETERS:
   real(rk), intent(in)    :: S,Ta
!
! !INPUT/OUTPUT PARAMETERS:
   integer, intent(inout)  :: ice_cover
   real(rk), intent(inout) :: Tw
!
! !REVISION HISTORY:
!  Original author(s): Karsten Bolding
!
!  See log for the ice module
!
! !LOCAL VARIABLES:
!EOP
!-----------------------------------------------------------------------
!BOC
   ! calculate ice thickness according to obsice 1938 
   Tf = -0.0575_rk*S
write(*,*) Tf
   if (ice_cover .eq. 2) then
      Tw = Tf
!KB      Tice = (alpha*Tf+Ta)/(1._rk+alpha) ! From mylake - but why?
      albedo_ice = 0.6_rk
   else
      Hice = 0._rk
      albedo_ice = 0._rk
      transmissivity = 1._rk
   end if
   end subroutine do_stim_obsice
!EOC

!-----------------------------------------------------------------------
!BOP
!
! !IROUTINE: Cleaning up the 'obsice' ice variables
!
! !INTERFACE:
   subroutine clean_stim_obsice()
!
! !DESCRIPTION:
!
! !USES:
   IMPLICIT NONE
!
! !INPUT PARAMETERS:
!
! !REVISION HISTORY:
!  Original author(s): Karsten Bolding
!
!  See log for the ice module
!
!EOP
!-----------------------------------------------------------------------
!BOC
   !LEVEL2 'clean_stim_obsice'

   end subroutine clean_stim_obsice
!EOC

!-----------------------------------------------------------------------

   end module stim_obsice

!-----------------------------------------------------------------------
! Copyright by the STIM-team under the GNU Public License - www.gnu.org
!-----------------------------------------------------------------------