Changeset 719 for trunk/NEMO/LIM_SRC/limthd_zdf.F90
- Timestamp:
- 2007-10-16T16:59:56+02:00 (17 years ago)
- 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 4 4 !! thermodynamic growth and decay of the ice 5 5 !!====================================================================== 6 !! History : 1.0 ! 01-04 (LIM) Original code7 !! 2.0 ! 02-08 (C. Ethe, G. Madec) F908 !!----------------------------------------------------------------------9 6 #if defined key_ice_lim 10 7 !!---------------------------------------------------------------------- 11 8 !! 'key_ice_lim' LIM sea-ice model 12 9 !!---------------------------------------------------------------------- 13 !!----------------------------------------------------------------------14 10 !! lim_thd_zdf : vertical accr./abl. and lateral ablation of sea ice 15 11 !!---------------------------------------------------------------------- 12 !! * Modules used 16 13 USE par_oce ! ocean parameters 17 14 USE phycst ! ??? … … 25 22 PRIVATE 26 23 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 33 33 !!---------------------------------------------------------------------- 34 34 !! 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 37 37 !!---------------------------------------------------------------------- 38 39 38 CONTAINS 40 39 … … 65 64 !! - Performs lateral ablation 66 65 !! 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) 69 73 !!------------------------------------------------------------------ 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 73 80 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 75 85 REAL(wp), DIMENSION(jpij) :: & 76 86 ztsmlt & ! snow/ice surface melting temperature … … 87 97 , zts_old & ! previous surface temperature 88 98 , zidsn , z1midsn , zidsnic ! tempory variables 89 REAL(wp), DIMENSION(jpij) :: & 99 100 REAL(wp), DIMENSION(jpij) :: & 90 101 zfnet & ! net heat flux at the top surface( incl. conductive heat flux) 91 102 , zsprecip & ! snow accumulation … … 98 109 , zfrld_1d & ! new sea/ice fraction 99 110 , zep ! internal temperature of the 2nd layer of the snow/ice system 111 100 112 REAL(wp), DIMENSION(3) :: & 101 113 zplediag & ! principle diagonal, subdiag. and supdiag. of the … … 103 115 , zsupdiag & ! of the temperatures inside the snow-ice system 104 116 , zsmbr ! second member 117 105 118 REAL(wp) :: & 106 119 zhsu & ! thickness of surface layer … … 117 130 , zb2 , zd2 , zb3 , zd3 & 118 131 , ztint ! equivalent temperature at the snow-ice interface 132 119 133 REAL(wp) :: & 120 134 zexp & ! exponential function of the ice thickness … … 134 148 , zdtic & ! ice internal temp. increment 135 149 , zqnes ! conductive energy due to ice melting in the first ice layer 150 136 151 REAL(wp) :: & 137 152 ztbot & ! temperature at the bottom surface … … 147 162 , zc1, zpc1, zc2, zpc2, zp1, zp2 & ! tempory variables 148 163 , ztb2, ztb3 164 149 165 REAL(wp) :: & 150 166 zdrmh & ! change in snow/ice thick. after snow-ice formation … … 165 181 ! Computation of energies due to surface and bottom melting 166 182 !----------------------------------------------------------------------- 183 167 184 168 185 DO ji = kideb , kiut … … 184 201 END DO 185 202 203 186 204 !------------------------------------------- 187 205 ! 2. Calculate some intermediate variables. … … 247 265 ! - qstbif_1d, total energy stored in brine pockets (updating) 248 266 !------------------------------------------------------------------- 267 249 268 250 269 DO ji = kideb , kiut … … 269 288 END DO 270 289 290 271 291 !-------------------------------------------------------------------------------- 272 292 ! 4. Computation of the surface temperature : determined by considering the … … 313 333 !---computation of the energy balance function 314 334 zfts = - z1mi0 (ji) * qsr_ice_1d(ji) & ! net absorbed solar radiation 315 & - qns _ice_1d(ji) & ! total non solar radiation316 & - zfcsu (ji) 335 & - qnsr_ice_1d(ji) & ! total non solar radiation 336 & - zfcsu (ji) ! conductive heat flux from the surface 317 337 !---computation of surface temperature increment 318 338 zdts = -zfts / zdfts … … 340 360 sist_1d(ji) = MIN( ztsmlt(ji) , sist_1d(ji) ) 341 361 #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) ) 343 363 qla_ice_1d (ji) = qla_ice_1d (ji) + dqla_ice_1d(ji) * ( sist_1d(ji) - zts_old(ji) ) 344 364 #endif … … 346 366 END DO 347 367 368 369 348 370 ! 5.2. Calculate available heat for surface ablation. 349 371 !--------------------------------------------------------------------- 350 372 351 373 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) 353 375 zfnet(ji) = MAX( zzero , zfnet(ji) ) 354 376 zfnet(ji) = zfnet(ji) * MAX( zzero , SIGN( zone , sist_1d(ji) - ztsmlt(ji) ) ) … … 708 730 dvnbq_1d(ji) = ( 1.0 - frld_1d(ji) ) * ( zhicnew - h_ice_1d(ji) ) 709 731 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 712 735 rdmsnif_1d(ji) = rdmsnif_1d(ji) + ( 1.0 - frld_1d(ji) ) * ( zhsnnew - h_snow_1d(ji) ) * rhosn 713 736 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 714 742 !--- Actualize new snow and ice thickness. 743 715 744 h_snow_1d(ji) = zhsnnew 716 h_ice_1d 745 h_ice_1d(ji) = zhicnew 717 746 718 747 END DO … … 770 799 qstbif_1d(ji) = zdrfrl2 * qstbif_1d(ji) 771 800 frld_1d(ji) = zfrld_1d(ji) 772 ! 773 END DO 774 !801 802 END DO 803 775 804 END SUBROUTINE lim_thd_zdf 776 777 805 #else 778 !!---------------------------------------------------------------------- 779 !! Default Option NO sea-ice model 780 !!---------------------------------------------------------------------- 806 !!====================================================================== 807 !! *** MODULE limthd_zdf *** 808 !! no sea ice model 809 !!====================================================================== 781 810 CONTAINS 782 811 SUBROUTINE lim_thd_zdf ! Empty routine 783 812 END SUBROUTINE lim_thd_zdf 784 813 #endif 785 786 !!====================================================================== 787 END MODULE limthd_zdf 814 END MODULE limthd_zdf
Note: See TracChangeset
for help on using the changeset viewer.