Changeset 7646 for trunk/NEMOGCM/NEMO/LIM_SRC_3/limistate.F90
- Timestamp:
- 2017-02-06T10:25:03+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/LIM_SRC_3/limistate.F90
r6695 r7646 5 5 !!====================================================================== 6 6 !! History : 2.0 ! 2004-01 (C. Ethe, G. Madec) Original code 7 !! 4.0 ! 2011-02 (G. Madec) dynamical allocation7 !! 3.0 ! 2011-02 (G. Madec) dynamical allocation 8 8 !! - ! 2014 (C. Rousset) add N/S initializations 9 9 !!---------------------------------------------------------------------- … … 23 23 USE ice ! sea-ice variables 24 24 USE par_oce ! ocean parameters 25 USE dom_ice ! sea-ice domain26 25 USE limvar ! lim_var_salprof 26 ! 27 27 USE in_out_manager ! I/O manager 28 28 USE lib_mpp ! MPP library … … 36 36 37 37 PUBLIC lim_istate ! routine called by lim_init.F90 38 39 ! !!** init namelist (namiceini) **40 REAL(wp) :: rn_thres_sst ! threshold water temperature for initial sea ice41 REAL(wp) :: rn_hts_ini_n ! initial snow thickness in the north42 REAL(wp) :: rn_hts_ini_s ! initial snow thickness in the south43 REAL(wp) :: rn_hti_ini_n ! initial ice thickness in the north44 REAL(wp) :: rn_hti_ini_s ! initial ice thickness in the south45 REAL(wp) :: rn_ati_ini_n ! initial leads area in the north46 REAL(wp) :: rn_ati_ini_s ! initial leads area in the south47 REAL(wp) :: rn_smi_ini_n ! initial salinity48 REAL(wp) :: rn_smi_ini_s ! initial salinity49 REAL(wp) :: rn_tmi_ini_n ! initial temperature50 REAL(wp) :: rn_tmi_ini_s ! initial temperature51 38 52 39 INTEGER , PARAMETER :: jpfldi = 6 ! maximum number of files to read … … 57 44 INTEGER , PARAMETER :: jp_tmi = 5 ! index of ice temp at T-point 58 45 INTEGER , PARAMETER :: jp_smi = 6 ! index of ice sali at T-point 59 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: si ! structure of input fields (file informations, fields read) 60 61 LOGICAL :: ln_iceini ! initialization or not 62 LOGICAL :: ln_iceini_file ! Ice initialization state from 2D netcdf file 46 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: si ! structure of input fields (file informations, fields read) 63 47 !!---------------------------------------------------------------------- 64 48 !! LIM 3.0, UCL-LOCEAN-IPSL (2008) … … 74 58 !! ** Purpose : defined the sea-ice initial state 75 59 !! 76 !! ** Method : 77 !! This routine will put some ice where ocean 60 !! ** Method : This routine will put some ice where ocean 78 61 !! is at the freezing point, then fill in ice 79 62 !! state variables using prescribed initial 80 63 !! values in the namelist 81 64 !! 82 !! ** Steps : 83 !! 1) Read namelist 65 !! ** Steps : 1) Read namelist 84 66 !! 2) Basal temperature; ice and hemisphere masks 85 67 !! 3) Fill in the ice thickness distribution using gaussian … … 96 78 !! 4.0 ! 09-11 (M. Vancoppenolle) Enhanced version for ice cats 97 79 !!-------------------------------------------------------------------- 98 99 !! * Local variables 100 INTEGER :: ji, jj, jk, jl ! dummy loop indices 101 REAL(wp) :: ztmelts, zdh 102 INTEGER :: i_hemis, i_fill, jl0 103 REAL(wp) :: ztest_1, ztest_2, ztest_3, ztest_4, ztests, zsigma, zarg, zA, zV, zA_cons, zV_cons, zconv 80 INTEGER :: ji, jj, jk, jl ! dummy loop indices 81 REAL(wp) :: ztmelts, zdh 82 INTEGER :: i_hemis, i_fill, jl0 83 REAL(wp) :: zarg, zV, zconv, zdv 104 84 REAL(wp), POINTER, DIMENSION(:,:) :: zswitch ! ice indicator 105 85 REAL(wp), POINTER, DIMENSION(:,:) :: zht_i_ini, zat_i_ini, zvt_i_ini !data from namelist or nc file 106 86 REAL(wp), POINTER, DIMENSION(:,:) :: zts_u_ini, zht_s_ini, zsm_i_ini, ztm_i_ini !data from namelist or nc file 107 REAL(wp), POINTER, DIMENSION(:,:,:) :: zh_i_ini, za_i_ini, zv_i_ini !data by cattegories to fill 108 !-------------------------------------------------------------------- 109 110 CALL wrk_alloc( jpi, jpj, jpl, zh_i_ini, za_i_ini, zv_i_ini ) 87 REAL(wp), POINTER, DIMENSION(:,:,:) :: zh_i_ini, za_i_ini !data by cattegories to fill 88 INTEGER , POINTER, DIMENSION(:) :: itest 89 !-------------------------------------------------------------------- 90 91 CALL wrk_alloc( jpi, jpj, jpl, zh_i_ini, za_i_ini ) 111 92 CALL wrk_alloc( jpi, jpj, zht_i_ini, zat_i_ini, zvt_i_ini, zts_u_ini, zht_s_ini, zsm_i_ini, ztm_i_ini ) 112 93 CALL wrk_alloc( jpi, jpj, zswitch ) 94 Call wrk_alloc( 4, itest ) 113 95 114 96 IF(lwp) WRITE(numout,*) 115 IF(lwp) WRITE(numout,*) 'lim_istate : Ice initialization '116 IF(lwp) WRITE(numout,*) '~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~'97 IF(lwp) WRITE(numout,*) 'lim_istate : sea-ice initialization ' 98 IF(lwp) WRITE(numout,*) '~~~~~~~~~~ ' 117 99 118 100 !-------------------------------------------------------------------- 119 101 ! 1) Read namelist 120 102 !-------------------------------------------------------------------- 121 122 CALL lim_istate_init ! reading the initials parameters of the ice123 124 ! surface temperature125 DO jl = 1, jpl ! loop over categories103 ! 104 CALL lim_istate_init 105 106 ! init surface temperature 107 DO jl = 1, jpl 126 108 t_su (:,:,jl) = rt0 * tmask(:,:,1) 127 109 tn_ice(:,:,jl) = rt0 * tmask(:,:,1) 128 110 END DO 129 111 130 ! basal temperature (considered at freezing point)112 ! init basal temperature (considered at freezing point) 131 113 CALL eos_fzp( sss_m(:,:), t_bo(:,:) ) 132 114 t_bo(:,:) = ( t_bo(:,:) + rt0 ) * tmask(:,:,1) 133 115 134 116 135 IF( ln_iceini ) THEN 136 137 !-------------------------------------------------------------------- 138 ! 2) Basal temperature, ice mask and hemispheric index 139 !-------------------------------------------------------------------- 140 141 DO jj = 1, jpj ! ice if sst <= t-freez + ttest 142 DO ji = 1, jpi 143 IF( ( sst_m(ji,jj) - ( t_bo(ji,jj) - rt0 ) ) * tmask(ji,jj,1) >= rn_thres_sst ) THEN 144 zswitch(ji,jj) = 0._wp * tmask(ji,jj,1) ! no ice 145 ELSE 146 zswitch(ji,jj) = 1._wp * tmask(ji,jj,1) ! ice 147 ENDIF 148 END DO 149 END DO 150 151 !-------------------------------------------------------------------- 152 ! 3) Initialization of sea ice state variables 153 !-------------------------------------------------------------------- 154 IF( ln_iceini_file )THEN 155 117 !-------------------------------------------------------------------- 118 ! 2) Initialization of sea ice state variables 119 !-------------------------------------------------------------------- 120 IF( ln_limini ) THEN 121 ! 122 IF( ln_limini_file )THEN 123 ! 156 124 zht_i_ini(:,:) = si(jp_hti)%fnow(:,:,1) 157 125 zht_s_ini(:,:) = si(jp_hts)%fnow(:,:,1) … … 160 128 ztm_i_ini(:,:) = si(jp_tmi)%fnow(:,:,1) 161 129 zsm_i_ini(:,:) = si(jp_smi)%fnow(:,:,1) 162 163 ELSE ! ln_iceini_file = F 130 ! 131 WHERE( zat_i_ini(:,:) > 0._wp ) ; zswitch(:,:) = tmask(:,:,1) 132 ELSEWHERE ; zswitch(:,:) = 0._wp 133 END WHERE 134 ! 135 ELSE ! ln_limini_file = F 136 137 !-------------------------------------------------------------------- 138 ! 3) Basal temperature, ice mask 139 !-------------------------------------------------------------------- 140 ! no ice if sst <= t-freez + ttest 141 WHERE( ( sst_m(:,:) - (t_bo(:,:) - rt0) ) * tmask(:,:,1) >= rn_thres_sst ) ; zswitch(:,:) = 0._wp 142 ELSEWHERE ; zswitch(:,:) = tmask(:,:,1) 143 END WHERE 164 144 165 145 !----------------------------- … … 169 149 DO jj = 1, jpj 170 150 DO ji = 1, jpi 171 IF( f cor(ji,jj) >= 0._wp ) THEN172 zht_i_ini(ji,jj) = rn_hti_ini_n 173 zht_s_ini(ji,jj) = rn_hts_ini_n 174 zat_i_ini(ji,jj) = rn_ati_ini_n 175 zts_u_ini(ji,jj) = rn_tmi_ini_n 176 zsm_i_ini(ji,jj) = rn_smi_ini_n 177 ztm_i_ini(ji,jj) = rn_tmi_ini_n 151 IF( ff_t(ji,jj) >= 0._wp ) THEN 152 zht_i_ini(ji,jj) = rn_hti_ini_n * zswitch(ji,jj) 153 zht_s_ini(ji,jj) = rn_hts_ini_n * zswitch(ji,jj) 154 zat_i_ini(ji,jj) = rn_ati_ini_n * zswitch(ji,jj) 155 zts_u_ini(ji,jj) = rn_tmi_ini_n * zswitch(ji,jj) 156 zsm_i_ini(ji,jj) = rn_smi_ini_n * zswitch(ji,jj) 157 ztm_i_ini(ji,jj) = rn_tmi_ini_n * zswitch(ji,jj) 178 158 ELSE 179 zht_i_ini(ji,jj) = rn_hti_ini_s 180 zht_s_ini(ji,jj) = rn_hts_ini_s 181 zat_i_ini(ji,jj) = rn_ati_ini_s 182 zts_u_ini(ji,jj) = rn_tmi_ini_s 183 zsm_i_ini(ji,jj) = rn_smi_ini_s 184 ztm_i_ini(ji,jj) = rn_tmi_ini_s 159 zht_i_ini(ji,jj) = rn_hti_ini_s * zswitch(ji,jj) 160 zht_s_ini(ji,jj) = rn_hts_ini_s * zswitch(ji,jj) 161 zat_i_ini(ji,jj) = rn_ati_ini_s * zswitch(ji,jj) 162 zts_u_ini(ji,jj) = rn_tmi_ini_s * zswitch(ji,jj) 163 zsm_i_ini(ji,jj) = rn_smi_ini_s * zswitch(ji,jj) 164 ztm_i_ini(ji,jj) = rn_tmi_ini_s * zswitch(ji,jj) 185 165 ENDIF 186 166 END DO 187 167 END DO 188 189 ENDIF ! ln_ iceini_file190 168 ! 169 ENDIF ! ln_limini_file 170 191 171 zvt_i_ini(:,:) = zht_i_ini(:,:) * zat_i_ini(:,:) ! ice volume 192 193 172 !--------------------------------------------------------------------- 194 173 ! 3.2) Distribute ice concentration and thickness into the categories … … 199 178 zh_i_ini(:,:,:) = 0._wp 200 179 za_i_ini(:,:,:) = 0._wp 201 zv_i_ini(:,:,:) = 0._wp 202 180 ! 203 181 DO jj = 1, jpj 204 182 DO ji = 1, jpi 205 183 ! 206 184 IF( zat_i_ini(ji,jj) > 0._wp .AND. zht_i_ini(ji,jj) > 0._wp )THEN 207 185 208 ztest_1 = 0 ; ztest_2 = 0 ; ztest_3 = 0 ; ztest_4 = 0 209 ! ztests = 0 210 211 DO i_fill = jpl, 1, -1 212 213 ! IF( ztests .NE. 4 ) THEN 214 IF ( ( ztest_1 + ztest_2 + ztest_3 + ztest_4 ) .NE. 4 ) THEN 215 !---------------------------- 216 ! fill the i_fill categories 217 !---------------------------- 218 ! *** 1 category to fill 219 IF ( i_fill .EQ. 1 ) THEN 220 zh_i_ini(ji,jj, 1) = zht_i_ini(ji,jj) 221 za_i_ini(ji,jj, 1) = zat_i_ini(ji,jj) 222 zh_i_ini(ji,jj,2:jpl) = 0._wp 223 za_i_ini(ji,jj,2:jpl) = 0._wp 224 ELSE 225 226 ! *** >1 categores to fill 227 !--- Ice thicknesses in the i_fill - 1 first categories 228 DO jl = 1, i_fill - 1 229 zh_i_ini(ji,jj,jl) = hi_mean(jl) 230 END DO 231 232 !--- jl0: most likely index where cc will be maximum 233 DO jl = 1, jpl 234 IF ( ( zht_i_ini(ji,jj) > hi_max(jl-1) ) .AND. & 235 & ( zht_i_ini(ji,jj) <= hi_max(jl) ) ) THEN 236 jl0 = jl 237 ENDIF 238 END DO 239 jl0 = MIN(jl0, i_fill) 240 241 !--- Concentrations 242 za_i_ini(ji,jj,jl0) = zat_i_ini(ji,jj) / SQRT(REAL(jpl)) 243 DO jl = 1, i_fill - 1 244 IF( jl .NE. jl0 )THEN 245 zsigma = 0.5 * zht_i_ini(ji,jj) 246 zarg = ( zh_i_ini(ji,jj,jl) - zht_i_ini(ji,jj) ) / zsigma 247 za_i_ini(ji,jj,jl) = za_i_ini(ji,jj,jl0) * EXP(-zarg**2) 248 ENDIF 249 END DO 250 251 zA = 0. ! sum of the areas in the jpl categories 252 DO jl = 1, i_fill - 1 253 zA = zA + za_i_ini(ji,jj,jl) 254 END DO 255 za_i_ini(ji,jj,i_fill) = zat_i_ini(ji,jj) - zA ! ice conc in the last category 256 IF ( i_fill .LT. jpl ) za_i_ini(ji,jj,i_fill+1:jpl) = 0._wp 257 258 !--- Ice thickness in the last category 259 zV = 0. ! sum of the volumes of the N-1 categories 260 DO jl = 1, i_fill - 1 261 zV = zV + za_i_ini(ji,jj,jl)*zh_i_ini(ji,jj,jl) 262 END DO 263 zh_i_ini(ji,jj,i_fill) = ( zvt_i_ini(ji,jj) - zV ) / za_i_ini(ji,jj,i_fill) 264 IF ( i_fill .LT. jpl ) zh_i_ini(ji,jj,i_fill+1:jpl) = 0._wp 265 266 !--- volumes 267 zv_i_ini(ji,jj,:) = za_i_ini(ji,jj,:) * zh_i_ini(ji,jj,:) 268 IF ( i_fill .LT. jpl ) zv_i_ini(ji,jj,i_fill+1:jpl) = 0._wp 269 270 ENDIF ! i_fill 271 272 !--------------------- 273 ! Compatibility tests 274 !--------------------- 275 ! Test 1: area conservation 276 zA_cons = SUM(za_i_ini(ji,jj,:)) ; zconv = ABS(zat_i_ini(ji,jj) - zA_cons ) 277 IF ( zconv .LT. 1.0e-6 ) THEN 278 ztest_1 = 1 279 ELSE 280 ztest_1 = 0 281 ENDIF 282 283 ! Test 2: volume conservation 284 zV_cons = SUM(zv_i_ini(ji,jj,:)) 285 zconv = ABS(zvt_i_ini(ji,jj) - zV_cons) 286 287 IF( zconv .LT. 1.0e-6 ) THEN 288 ztest_2 = 1 289 ELSE 290 ztest_2 = 0 291 ENDIF 292 293 ! Test 3: thickness of the last category is in-bounds ? 294 IF ( zh_i_ini(ji,jj,i_fill) > hi_max(i_fill-1) ) THEN 295 ztest_3 = 1 296 ELSE 297 ztest_3 = 0 298 ENDIF 299 300 ! Test 4: positivity of ice concentrations 301 ztest_4 = 1 302 DO jl = 1, jpl 303 IF ( za_i_ini(ji,jj,jl) .LT. 0._wp ) THEN 304 ztest_4 = 0 186 !--- jl0: most likely index where cc will be maximum 187 jl0 = jpl 188 DO jl = 1, jpl 189 IF ( ( zht_i_ini(ji,jj) > hi_max(jl-1) ) .AND. ( zht_i_ini(ji,jj) <= hi_max(jl) ) ) THEN 190 jl0 = jl 191 CYCLE 192 ENDIF 193 END DO 194 ! 195 ! initialisation of tests 196 itest(:) = 0 197 198 i_fill = jpl + 1 !==================================== 199 DO WHILE ( ( SUM( itest(:) ) /= 4 ) .AND. ( i_fill >= 2 ) ) ! iterative loop on i_fill categories 200 ! iteration !==================================== 201 i_fill = i_fill - 1 202 203 ! initialisation of ice variables for each try 204 zh_i_ini(ji,jj,:) = 0._wp 205 za_i_ini(ji,jj,:) = 0._wp 206 itest(:) = 0 207 ! 208 ! *** case very thin ice: fill only category 1 209 IF ( i_fill == 1 ) THEN 210 zh_i_ini(ji,jj,1) = zht_i_ini(ji,jj) 211 za_i_ini(ji,jj,1) = zat_i_ini(ji,jj) 212 213 ! *** case ice is thicker: fill categories >1 214 ELSE 215 216 ! Fill ice thicknesses in the (i_fill-1) cat by hmean 217 DO jl = 1, i_fill-1 218 zh_i_ini(ji,jj,jl) = hi_mean(jl) 219 END DO 220 ! 221 !--- Concentrations 222 za_i_ini(ji,jj,jl0) = zat_i_ini(ji,jj) / SQRT(REAL(jpl)) 223 DO jl = 1, i_fill - 1 224 IF( jl /= jl0 )THEN 225 zarg = ( zh_i_ini(ji,jj,jl) - zht_i_ini(ji,jj) ) / ( 0.5_wp * zht_i_ini(ji,jj) ) 226 za_i_ini(ji,jj,jl) = za_i_ini(ji,jj,jl0) * EXP(-zarg**2) 305 227 ENDIF 306 228 END DO 307 308 ENDIF ! ztest_1 + ztest_2 + ztest_3 + ztest_4 309 310 ztests = ztest_1 + ztest_2 + ztest_3 + ztest_4 311 312 END DO ! i_fill 313 314 IF(lwp) THEN 315 WRITE(numout,*) ' ztests : ', ztests 316 IF( ztests .NE. 4 )THEN 317 WRITE(numout,*) 318 WRITE(numout,*) ' !!!! ALERT !!! ' 319 WRITE(numout,*) ' !!!! Something is wrong in the LIM3 initialization procedure ' 320 WRITE(numout,*) 321 WRITE(numout,*) ' *** ztests is not equal to 4 ' 322 WRITE(numout,*) ' *** ztest_i (i=1,4) = ', ztest_1, ztest_2, ztest_3, ztest_4 323 WRITE(numout,*) ' zat_i_ini : ', zat_i_ini(ji,jj) 324 WRITE(numout,*) ' zht_i_ini : ', zht_i_ini(ji,jj) 325 ENDIF ! ztests .NE. 4 229 ! 230 ! Concentration in the last (i_fill) category 231 za_i_ini(ji,jj,i_fill) = zat_i_ini(ji,jj) - SUM( za_i_ini(ji,jj,1:i_fill-1) ) 232 233 ! Ice thickness in the last (i_fill) category 234 zV = SUM( za_i_ini(ji,jj,1:i_fill-1) * zh_i_ini(ji,jj,1:i_fill-1) ) 235 zh_i_ini(ji,jj,i_fill) = ( zvt_i_ini(ji,jj) - zV ) / MAX( za_i_ini(ji,jj,i_fill), epsi10 ) 236 237 ! clem: correction if concentration of upper cat is greater than lower cat 238 ! (it should be a gaussian around jl0 but sometimes it is not) 239 IF ( jl0 /= jpl ) THEN 240 DO jl = jpl, jl0+1, -1 241 IF ( za_i_ini(ji,jj,jl) > za_i_ini(ji,jj,jl-1) ) THEN 242 zdv = zh_i_ini(ji,jj,jl) * za_i_ini(ji,jj,jl) 243 zh_i_ini(ji,jj,jl ) = 0._wp 244 za_i_ini(ji,jj,jl ) = 0._wp 245 za_i_ini(ji,jj,1:jl-1) = za_i_ini(ji,jj,1:jl-1) & 246 & + zdv / MAX( REAL(jl-1) * zht_i_ini(ji,jj), epsi10 ) 247 END IF 248 ENDDO 249 ENDIF 250 ! 251 ENDIF ! case ice is thick or thin 252 253 !--------------------- 254 ! Compatibility tests 255 !--------------------- 256 ! Test 1: area conservation 257 zconv = ABS( zat_i_ini(ji,jj) - SUM( za_i_ini(ji,jj,1:jpl) ) ) 258 IF ( zconv < epsi06 ) itest(1) = 1 259 260 ! Test 2: volume conservation 261 zconv = ABS( zat_i_ini(ji,jj) * zht_i_ini(ji,jj) & 262 & - SUM( za_i_ini (ji,jj,1:jpl) * zh_i_ini (ji,jj,1:jpl) ) ) 263 IF ( zconv < epsi06 ) itest(2) = 1 264 265 ! Test 3: thickness of the last category is in-bounds ? 266 IF ( zh_i_ini(ji,jj,i_fill) >= hi_max(i_fill-1) ) itest(3) = 1 267 268 ! Test 4: positivity of ice concentrations 269 itest(4) = 1 270 DO jl = 1, i_fill 271 IF ( za_i_ini(ji,jj,jl) < 0._wp ) itest(4) = 0 272 END DO 273 ! !============================ 274 END DO ! end iteration on categories 275 ! !============================ 276 ! 277 IF( lwp .AND. SUM(itest) /= 4 ) THEN 278 WRITE(numout,*) 279 WRITE(numout,*) ' !!!! ALERT itest is not equal to 4 !!! ' 280 WRITE(numout,*) ' !!!! Something is wrong in the LIM3 initialization procedure ' 281 WRITE(numout,*) 282 WRITE(numout,*) ' *** itest_i (i=1,4) = ', itest(:) 283 WRITE(numout,*) ' zat_i_ini : ', zat_i_ini(ji,jj) 284 WRITE(numout,*) ' zht_i_ini : ', zht_i_ini(ji,jj) 326 285 ENDIF 327 328 ENDIF ! zat_i_ini(ji,jj) > 0._wp .AND. zh m_i_ini(ji,jj) > 0._wp329 330 END DO331 END DO286 287 ENDIF ! zat_i_ini(ji,jj) > 0._wp .AND. zht_i_ini(ji,jj) > 0._wp 288 ! 289 END DO 290 END DO 332 291 333 292 !--------------------------------------------------------------------- … … 373 332 smv_i = sm_i * v_i 374 333 ENDIF 375 334 376 335 ! Snow temperature and heat content 377 336 DO jk = 1, nlay_s … … 413 372 tn_ice (:,:,:) = t_su (:,:,:) 414 373 415 ELSE ! if ln_ iceini=false374 ELSE ! if ln_limini=false 416 375 a_i (:,:,:) = 0._wp 417 376 v_i (:,:,:) = 0._wp … … 436 395 END DO 437 396 438 ENDIF ! ln_ iceini397 ENDIF ! ln_limini 439 398 440 399 at_i (:,:) = 0.0_wp … … 486 445 sxyage (:,:,:) = 0._wp 487 446 488 489 CALL wrk_dealloc( jpi, jpj, jpl, zh_i_ini, za_i_ini, zv_i_ini ) 447 !!!clem 448 !! ! Output the initial state and forcings 449 !! CALL dia_wri_state( 'output.init', nit000 ) 450 !!! 451 452 CALL wrk_dealloc( jpi, jpj, jpl, zh_i_ini, za_i_ini ) 490 453 CALL wrk_dealloc( jpi, jpj, zht_i_ini, zat_i_ini, zvt_i_ini, zts_u_ini, zht_s_ini, zsm_i_ini, ztm_i_ini ) 491 454 CALL wrk_dealloc( jpi, jpj, zswitch ) 455 Call wrk_dealloc( 4, itest ) 492 456 493 457 END SUBROUTINE lim_istate … … 518 482 TYPE(FLD_N), DIMENSION(jpfldi) :: slf_i ! array of namelist informations on the fields to read 519 483 ! 520 NAMELIST/namiceini/ ln_ iceini, ln_iceini_file, rn_thres_sst, rn_hts_ini_n, rn_hts_ini_s, &484 NAMELIST/namiceini/ ln_limini, ln_limini_file, rn_thres_sst, rn_hts_ini_n, rn_hts_ini_s, & 521 485 & rn_hti_ini_n, rn_hti_ini_s, rn_ati_ini_n, rn_ati_ini_s, rn_smi_ini_n, & 522 486 & rn_smi_ini_s, rn_tmi_ini_n, rn_tmi_ini_s, & … … 544 508 WRITE(numout,*) 'lim_istate_init : ice parameters inititialisation ' 545 509 WRITE(numout,*) '~~~~~~~~~~~~~~~' 546 WRITE(numout,*) ' initialization with ice (T) or not (F) ln_ iceini = ', ln_iceini547 WRITE(numout,*) ' ice initialization from a netcdf file ln_ iceini_file = ', ln_iceini_file510 WRITE(numout,*) ' initialization with ice (T) or not (F) ln_limini = ', ln_limini 511 WRITE(numout,*) ' ice initialization from a netcdf file ln_limini_file = ', ln_limini_file 548 512 WRITE(numout,*) ' threshold water temp. for initial sea-ice rn_thres_sst = ', rn_thres_sst 549 513 WRITE(numout,*) ' initial snow thickness in the north rn_hts_ini_n = ', rn_hts_ini_n … … 559 523 ENDIF 560 524 561 IF( ln_ iceini_file ) THEN ! Ice initialization using input file525 IF( ln_limini_file ) THEN ! Ice initialization using input file 562 526 ! 563 527 ! set si structure
Note: See TracChangeset
for help on using the changeset viewer.