Line data Source code
1 : !======================================================================= 2 : ! 3 : ! First year concentration tracer for sea ice 4 : ! 5 : ! see 6 : ! Armour, K. C., C. M. Bitz, L. Thompson and E. C. Hunke (2011). Controls 7 : ! on Arctic sea ice from first-year and multi-year ice survivability. 8 : ! J. Climate, 24, 23782390. doi: 10.1175/2010JCLI3823.1. 9 : ! 10 : ! authors C. Bitz, University of Washington, modified from icepack_age module 11 : ! 12 : ! 2012: E. Hunke adopted from CESM into CICE, changed name from ice_FY.F90 13 : ! 14 : module icepack_firstyear 15 : 16 : use icepack_kinds 17 : use icepack_parameters, only: secday, c0 18 : use icepack_warnings, only: warnstr, icepack_warnings_add 19 : use icepack_warnings, only: icepack_warnings_setabort, icepack_warnings_aborted 20 : 21 : implicit none 22 : 23 : private 24 : public :: update_FYarea 25 : 26 : !======================================================================= 27 : 28 : contains 29 : 30 : !======================================================================= 31 : 32 : ! Zero ice FY tracer on fixed day of year. Zeroing FY ice tracer promotes 33 : ! ice to MY ice. Unfortunately some frazil ice may grow before the 34 : ! zeroing date and thus get promoted to MY ice too soon. 35 : ! Bummer. 36 : 37 33852099 : subroutine update_FYarea (dt, & 38 : nhmask, shmask, & ! LCOV_EXCL_LINE 39 : yday, FYarea) 40 : 41 : real (kind=dbl_kind), intent(in) :: & 42 : dt , & ! time step ! LCOV_EXCL_LINE 43 : yday ! day of the year 44 : 45 : logical (kind=log_kind), intent(in) :: & 46 : nhmask, shmask 47 : 48 : real (kind=dbl_kind), intent(inout) :: & 49 : FYarea 50 : 51 : character(len=*),parameter :: subname='(update_FYarea)' 52 : 53 33852099 : if ((yday >= 259._dbl_kind) .and. & 54 : (yday < 259._dbl_kind+dt/secday)) then 55 0 : if (nhmask) FYarea = c0 56 : endif 57 : 58 33852099 : if ((yday >= 75._dbl_kind) .and. & 59 : (yday < 75._dbl_kind+dt/secday)) then 60 0 : if (shmask) FYarea = c0 61 : endif 62 : 63 33852099 : end subroutine update_FYarea 64 : 65 : !======================================================================= 66 : 67 : end module icepack_firstyear 68 : 69 : !=======================================================================