New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 719 for trunk/NEMO/LIM_SRC/limthd_zdf.F90 – NEMO

Ignore:
Timestamp:
2007-10-16T16:59:56+02:00 (17 years ago)
Author:
ctlod
Message:

get back to the nemo_v2_3 version for trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/LIM_SRC/limthd_zdf.F90

    • Property svn:keywords changed from Id to Author Date Id Revision
    r717 r719  
    44   !!                thermodynamic growth and decay of the ice  
    55   !!====================================================================== 
    6    !! History :  1.0  !  01-04 (LIM) Original code 
    7    !!            2.0  !  02-08 (C. Ethe, G. Madec) F90 
    8    !!---------------------------------------------------------------------- 
    96#if defined key_ice_lim 
    107   !!---------------------------------------------------------------------- 
    118   !!   'key_ice_lim'                                     LIM sea-ice model 
    129   !!---------------------------------------------------------------------- 
    13    !!---------------------------------------------------------------------- 
    1410   !!   lim_thd_zdf  : vertical accr./abl. and lateral ablation of sea ice 
    1511   !!---------------------------------------------------------------------- 
     12   !! * Modules used 
    1613   USE par_oce          ! ocean parameters 
    1714   USE phycst           ! ??? 
     
    2522   PRIVATE 
    2623 
    27    PUBLIC   lim_thd_zdf        ! called by lim_thd 
    28  
    29    REAL(wp) ::   epsi20 = 1.e-20  ,  &  ! constant values 
    30       &          epsi13 = 1.e-13  ,  & 
    31       &          zzero  = 0.e0    ,  & 
    32       &          zone   = 1.e0 
     24   !! * Routine accessibility 
     25   PUBLIC lim_thd_zdf        ! called by lim_thd 
     26 
     27   !! * Module variables 
     28   REAL(wp)  ::           &  ! constant values 
     29      epsi20 = 1.e-20  ,  & 
     30      epsi13 = 1.e-13  ,  & 
     31      zzero  = 0.e0    ,  & 
     32      zone   = 1.e0 
    3333   !!---------------------------------------------------------------------- 
    3434   !!   LIM 2.0,  UCL-LOCEAN-IPSL (2005)  
    35    !! $Id$ 
    36    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     35   !! $Header$  
     36   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    3737   !!---------------------------------------------------------------------- 
    38  
    3938CONTAINS 
    4039 
     
    6564      !!              - Performs lateral ablation 
    6665      !! 
    67       !! References : Fichefet T. and M. Maqueda 1997, J. Geophys. Res., 102(C6), 12609-12646    
    68       !!              Fichefet T. and M. Maqueda 1999, Clim. Dyn, 15(4), 251-268   
     66      !! References : 
     67      !!   Fichefet T. and M. Maqueda 1997, J. Geophys. Res., 102(C6), 12609-12646    
     68      !!   Fichefet T. and M. Maqueda 1999, Clim. Dyn, 15(4), 251-268   
     69      !! 
     70      !! History : 
     71      !!   original    : 01-04 (LIM) 
     72      !!   addition    : 02-08 (C. Ethe, G. Madec) 
    6973      !!------------------------------------------------------------------ 
    70       INTEGER, INTENT(in) ::   kideb    ! Start point on which the  the computation is applied 
    71       INTEGER, INTENT(in) ::   kiut     ! End point on which the  the computation is applied 
    72       !! 
     74      !! * Arguments 
     75      INTEGER , INTENT (in) ::  & 
     76         kideb ,  &  ! Start point on which the  the computation is applied 
     77         kiut        ! End point on which the  the computation is applied 
     78 
     79      !! * Local variables 
    7380      INTEGER ::   ji       ! dummy loop indices 
    74       REAL(wp), DIMENSION(jpij,2) ::   zqcmlt        ! energy due to surface( /1 ) and bottom melting( /2 ) 
     81 
     82      REAL(wp) , DIMENSION(jpij,2) ::  & 
     83         zqcmlt        ! energy due to surface( /1 ) and bottom melting( /2 ) 
     84 
    7585      REAL(wp), DIMENSION(jpij) ::  & 
    7686         ztsmlt      &    ! snow/ice surface melting temperature 
     
    8797         , zts_old   &    ! previous surface temperature 
    8898         , zidsn , z1midsn , zidsnic ! tempory variables 
    89       REAL(wp), DIMENSION(jpij) ::   & 
     99 
     100      REAL(wp), DIMENSION(jpij) :: & 
    90101          zfnet       &  ! net heat flux at the top surface( incl. conductive heat flux) 
    91102          , zsprecip  &    ! snow accumulation 
     
    98109          , zfrld_1d    &    ! new sea/ice fraction 
    99110          , zep            ! internal temperature of the 2nd layer of the snow/ice system 
     111 
    100112       REAL(wp), DIMENSION(3) :: &  
    101113          zplediag  &    ! principle diagonal, subdiag. and supdiag. of the  
     
    103115          , zsupdiag  &    ! of the temperatures inside the snow-ice system 
    104116          , zsmbr          ! second member 
     117 
    105118       REAL(wp) :: &  
    106119          zhsu     &     ! thickness of surface layer 
     
    117130          , zb2 , zd2 , zb3 , zd3 & 
    118131          , ztint          ! equivalent temperature at the snow-ice interface 
     132 
    119133       REAL(wp) :: &  
    120134          zexp      &     ! exponential function of the ice thickness 
     
    134148          , zdtic        &  ! ice internal temp. increment 
    135149          , zqnes          ! conductive energy due to ice melting in the first ice layer 
     150 
    136151       REAL(wp) :: &  
    137152          ztbot     &      ! temperature at the bottom surface 
     
    147162          , zc1, zpc1, zc2, zpc2, zp1, zp2 & ! tempory variables 
    148163          , ztb2, ztb3 
     164 
    149165       REAL(wp) :: &  
    150166          zdrmh         &   ! change in snow/ice thick. after snow-ice formation 
     
    165181       !     Computation of energies due to surface and bottom melting  
    166182       !----------------------------------------------------------------------- 
     183        
    167184        
    168185       DO ji = kideb , kiut 
     
    184201       END DO 
    185202 
     203 
    186204       !------------------------------------------- 
    187205       !  2. Calculate some intermediate variables.   
     
    247265       !     - qstbif_1d, total energy stored in brine pockets (updating) 
    248266       !------------------------------------------------------------------- 
     267 
    249268 
    250269       DO ji = kideb , kiut 
     
    269288       END DO 
    270289 
     290 
    271291       !-------------------------------------------------------------------------------- 
    272292       !  4. Computation of the surface temperature : determined by considering the  
     
    313333          !---computation of the energy balance function  
    314334          zfts    = - z1mi0 (ji) * qsr_ice_1d(ji)   & ! net absorbed solar radiation 
    315              &      - qns_ice_1d(ji)                & ! total non solar radiation 
    316              &      - zfcsu (ji)                      ! conductive heat flux from the surface 
     335             &      - qnsr_ice_1d(ji)                & ! total non solar radiation 
     336             &      - zfcsu (ji)                  ! conductive heat flux from the surface 
    317337          !---computation of surface temperature increment   
    318338          zdts    = -zfts / zdfts 
     
    340360          sist_1d(ji) = MIN( ztsmlt(ji) , sist_1d(ji) ) 
    341361#if ! defined key_coupled 
    342           qns_ice_1d(ji) = qns_ice_1d(ji) + dqns_ice_1d(ji) * ( sist_1d(ji) - zts_old(ji) ) 
     362          qnsr_ice_1d(ji) = qnsr_ice_1d(ji) + dqns_ice_1d(ji) * ( sist_1d(ji) - zts_old(ji) ) 
    343363          qla_ice_1d (ji) = qla_ice_1d (ji) + dqla_ice_1d(ji) * ( sist_1d(ji) - zts_old(ji) ) 
    344364#endif 
     
    346366       END DO 
    347367 
     368      
     369 
    348370       !     5.2. Calculate available heat for surface ablation.  
    349371       !--------------------------------------------------------------------- 
    350372 
    351373       DO ji = kideb, kiut 
    352           zfnet(ji) = qns_ice_1d(ji) + z1mi0(ji) * qsr_ice_1d(ji) + zfcsu(ji)           
     374          zfnet(ji) = qnsr_ice_1d(ji) + z1mi0(ji) * qsr_ice_1d(ji) + zfcsu(ji)           
    353375          zfnet(ji) = MAX( zzero , zfnet(ji) ) 
    354376          zfnet(ji) = zfnet(ji) * MAX( zzero , SIGN( zone , sist_1d(ji) - ztsmlt(ji) ) ) 
     
    708730          dvnbq_1d(ji) = ( 1.0 - frld_1d(ji) ) * ( zhicnew - h_ice_1d(ji) ) 
    709731          dmgwi_1d(ji) = dmgwi_1d(ji) + ( 1.0 -frld_1d(ji) ) * ( h_snow_1d(ji) - zhsnnew ) * rhosn 
    710           !---  volume change of ice and snow (used for ocean-ice freshwater flux computation) 
    711           rdmicif_1d(ji) = rdmicif_1d(ji) + ( 1.0 - frld_1d(ji) )   * ( zhicnew - h_ice_1d (ji) ) * rhoic 
     732          !  case of natural freshwater flux 
     733#if defined key_lim_fdd   
     734          rdmicif_1d(ji) = rdmicif_1d(ji) + ( 1.0 - frld_1d(ji) )   * ( zhicnew - h_ice_1d(ji) )  * rhoic 
    712735          rdmsnif_1d(ji) = rdmsnif_1d(ji) + ( 1.0 - frld_1d(ji) )   * ( zhsnnew - h_snow_1d(ji) ) * rhosn 
    713736 
     737#else 
     738          rdmicif_1d(ji) = rdmicif_1d(ji) + ( 1.0 - frld_1d(ji) ) * (  ( zhicnew - h_ice_1d(ji) ) * rhoic   & 
     739             &                                                    + ( zhsnnew - h_snow_1d(ji) ) * rhosn ) 
     740#endif 
     741 
    714742          !---  Actualize new snow and ice thickness. 
     743 
    715744          h_snow_1d(ji)  = zhsnnew 
    716           h_ice_1d (ji)  = zhicnew 
     745          h_ice_1d(ji)  = zhicnew 
    717746 
    718747       END DO 
     
    770799          qstbif_1d(ji) = zdrfrl2 * qstbif_1d(ji) 
    771800          frld_1d(ji)    = zfrld_1d(ji) 
    772           ! 
    773        END DO 
    774        !  
     801 
     802       END DO 
     803        
    775804    END SUBROUTINE lim_thd_zdf 
    776  
    777805#else 
    778    !!---------------------------------------------------------------------- 
    779    !!   Default Option                                     NO sea-ice model 
    780    !!---------------------------------------------------------------------- 
     806   !!====================================================================== 
     807   !!                       ***  MODULE limthd_zdf   *** 
     808   !!                              no sea ice model   
     809   !!====================================================================== 
    781810CONTAINS 
    782811   SUBROUTINE lim_thd_zdf          ! Empty routine 
    783812   END SUBROUTINE lim_thd_zdf 
    784813#endif 
    785  
    786    !!====================================================================== 
    787 END MODULE limthd_zdf 
     814 END MODULE limthd_zdf 
Note: See TracChangeset for help on using the changeset viewer.