Changeset 888 for trunk/NEMO/LIM_SRC_2/limthd_zdf_2.F90
- Timestamp:
- 2008-04-11T19:05:03+02:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/LIM_SRC_2/limthd_zdf_2.F90
r823 r888 4 4 !! thermodynamic growth and decay of the ice 5 5 !!====================================================================== 6 !! History : 1.0 ! 01-04 (LIM) Original code 7 !! 2.0 ! 02-08 (C. Ethe, G. Madec) F90 8 !!---------------------------------------------------------------------- 6 9 #if defined key_lim2 7 10 !!---------------------------------------------------------------------- 8 11 !! 'key_lim2' LIM 2.0 sea-ice model 12 !!---------------------------------------------------------------------- 9 13 !!---------------------------------------------------------------------- 10 14 !! lim_thd_zdf_2 : vertical accr./abl. and lateral ablation of sea ice … … 22 26 PRIVATE 23 27 24 !! * Routine accessibility 25 PUBLIC lim_thd_zdf_2 ! called by lim_thd_2 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 28 PUBLIC lim_thd_zdf_2 ! called by lim_thd_2 29 30 REAL(wp) :: epsi20 = 1.e-20 , & ! constant values 31 & epsi13 = 1.e-13 , & 32 & zzero = 0.e0 , & 33 & zone = 1.e0 33 34 !!---------------------------------------------------------------------- 34 35 !! LIM 2.0, UCL-LOCEAN-IPSL (2005) 35 !! $Header$ 36 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 37 !!---------------------------------------------------------------------- 36 !! $ Id: $ 37 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 38 !!---------------------------------------------------------------------- 39 38 40 CONTAINS 39 41 … … 64 66 !! - Performs lateral ablation 65 67 !! 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 68 !! References : Fichefet T. and M. Maqueda 1997, J. Geophys. Res., 102(C6), 12609-12646 69 !! Fichefet T. and M. Maqueda 1999, Clim. Dyn, 15(4), 251-268 70 !!------------------------------------------------------------------ 71 INTEGER, INTENT(in) :: kideb ! Start point on which the the computation is applied 72 INTEGER, INTENT(in) :: kiut ! End point on which the the computation is applied 69 73 !! 70 !! History :71 !! original : 01-04 (LIM)72 !! addition : 02-08 (C. Ethe, G. Madec)73 !!------------------------------------------------------------------74 !! * Arguments75 INTEGER , INTENT (in) :: &76 kideb , & ! Start point on which the the computation is applied77 kiut ! End point on which the the computation is applied78 79 !! * Local variables80 74 INTEGER :: ji ! dummy loop indices 81 82 REAL(wp) , DIMENSION(jpij,2) :: & 83 zqcmlt ! energy due to surface( /1 ) and bottom melting( /2 ) 84 75 REAL(wp), DIMENSION(jpij,2) :: zqcmlt ! energy due to surface( /1 ) and bottom melting( /2 ) 85 76 REAL(wp), DIMENSION(jpij) :: & 86 77 ztsmlt & ! snow/ice surface melting temperature … … 97 88 , zts_old & ! previous surface temperature 98 89 , zidsn , z1midsn , zidsnic ! tempory variables 99 100 REAL(wp), DIMENSION(jpij) :: & 90 REAL(wp), DIMENSION(jpij) :: & 101 91 zfnet & ! net heat flux at the top surface( incl. conductive heat flux) 102 92 , zsprecip & ! snow accumulation … … 109 99 , zfrld_1d & ! new sea/ice fraction 110 100 , zep ! internal temperature of the 2nd layer of the snow/ice system 111 112 101 REAL(wp), DIMENSION(3) :: & 113 102 zplediag & ! principle diagonal, subdiag. and supdiag. of the … … 115 104 , zsupdiag & ! of the temperatures inside the snow-ice system 116 105 , zsmbr ! second member 117 118 106 REAL(wp) :: & 119 107 zhsu & ! thickness of surface layer … … 130 118 , zb2 , zd2 , zb3 , zd3 & 131 119 , ztint ! equivalent temperature at the snow-ice interface 132 133 120 REAL(wp) :: & 134 121 zexp & ! exponential function of the ice thickness … … 148 135 , zdtic & ! ice internal temp. increment 149 136 , zqnes ! conductive energy due to ice melting in the first ice layer 150 151 137 REAL(wp) :: & 152 138 ztbot & ! temperature at the bottom surface … … 162 148 , zc1, zpc1, zc2, zpc2, zp1, zp2 & ! tempory variables 163 149 , ztb2, ztb3 164 165 150 REAL(wp) :: & 166 151 zdrmh & ! change in snow/ice thick. after snow-ice formation … … 181 166 ! Computation of energies due to surface and bottom melting 182 167 !----------------------------------------------------------------------- 183 184 168 185 169 DO ji = kideb , kiut … … 201 185 END DO 202 186 203 204 187 !------------------------------------------- 205 188 ! 2. Calculate some intermediate variables. … … 265 248 ! - qstbif_1d, total energy stored in brine pockets (updating) 266 249 !------------------------------------------------------------------- 267 268 250 269 251 DO ji = kideb , kiut … … 288 270 END DO 289 271 290 291 272 !-------------------------------------------------------------------------------- 292 273 ! 4. Computation of the surface temperature : determined by considering the … … 333 314 !---computation of the energy balance function 334 315 zfts = - z1mi0 (ji) * qsr_ice_1d(ji) & ! net absorbed solar radiation 335 & - qns r_ice_1d(ji) & ! total non solar radiation336 & - zfcsu (ji) ! conductive heat flux from the surface316 & - qns_ice_1d(ji) & ! total non solar radiation 317 & - zfcsu (ji) ! conductive heat flux from the surface 337 318 !---computation of surface temperature increment 338 319 zdts = -zfts / zdfts … … 360 341 sist_1d(ji) = MIN( ztsmlt(ji) , sist_1d(ji) ) 361 342 #if ! defined key_coupled 362 qns r_ice_1d(ji) = qnsr_ice_1d(ji) + dqns_ice_1d(ji) * ( sist_1d(ji) - zts_old(ji) )343 qns_ice_1d(ji) = qns_ice_1d(ji) + dqns_ice_1d(ji) * ( sist_1d(ji) - zts_old(ji) ) 363 344 qla_ice_1d (ji) = qla_ice_1d (ji) + dqla_ice_1d(ji) * ( sist_1d(ji) - zts_old(ji) ) 364 345 #endif … … 366 347 END DO 367 348 368 369 370 349 ! 5.2. Calculate available heat for surface ablation. 371 350 !--------------------------------------------------------------------- 372 351 373 352 DO ji = kideb, kiut 374 zfnet(ji) = qns r_ice_1d(ji) + z1mi0(ji) * qsr_ice_1d(ji) + zfcsu(ji)353 zfnet(ji) = qns_ice_1d(ji) + z1mi0(ji) * qsr_ice_1d(ji) + zfcsu(ji) 375 354 zfnet(ji) = MAX( zzero , zfnet(ji) ) 376 355 zfnet(ji) = zfnet(ji) * MAX( zzero , SIGN( zone , sist_1d(ji) - ztsmlt(ji) ) ) … … 730 709 dvnbq_1d(ji) = ( 1.0 - frld_1d(ji) ) * ( zhicnew - h_ice_1d(ji) ) 731 710 dmgwi_1d(ji) = dmgwi_1d(ji) + ( 1.0 -frld_1d(ji) ) * ( h_snow_1d(ji) - zhsnnew ) * rhosn 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 711 !--- volume change of ice and snow (used for ocean-ice freshwater flux computation) 712 rdmicif_1d(ji) = rdmicif_1d(ji) + ( 1.0 - frld_1d(ji) ) * ( zhicnew - h_ice_1d (ji) ) * rhoic 735 713 rdmsnif_1d(ji) = rdmsnif_1d(ji) + ( 1.0 - frld_1d(ji) ) * ( zhsnnew - h_snow_1d(ji) ) * rhosn 736 714 737 #else738 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 #endif741 742 715 !--- Actualize new snow and ice thickness. 743 744 716 h_snow_1d(ji) = zhsnnew 745 h_ice_1d (ji) = zhicnew717 h_ice_1d (ji) = zhicnew 746 718 747 719 END DO … … 799 771 qstbif_1d(ji) = zdrfrl2 * qstbif_1d(ji) 800 772 frld_1d(ji) = zfrld_1d(ji) 801 802 END DO 803 773 ! 774 END DO 775 ! 804 776 END SUBROUTINE lim_thd_zdf_2 777 805 778 #else 806 !!====================================================================== 807 !! *** MODULE limthd_zdf_2 *** 808 !! no sea ice model 809 !!====================================================================== 779 !!---------------------------------------------------------------------- 780 !! Default Option NO sea-ice model 781 !!---------------------------------------------------------------------- 810 782 CONTAINS 811 783 SUBROUTINE lim_thd_zdf_2 ! Empty routine 812 784 END SUBROUTINE lim_thd_zdf_2 813 785 #endif 814 END MODULE limthd_zdf_2 786 787 !!====================================================================== 788 END MODULE limthd_zdf_2
Note: See TracChangeset
for help on using the changeset viewer.