Changeset 1571
- Timestamp:
- 2009-08-03T16:24:31+02:00 (15 years ago)
- Location:
- trunk/NEMO/LIM_SRC_3
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/LIM_SRC_3/limitd_me.F90
r1465 r1571 1169 1169 zdummy , & ! dummy argument 1170 1170 zdummy0 , & ! dummy argument 1171 ztmelts , & ! ice melting point 1172 sm_newridge ! new ridged ice salinity 1171 ztmelts ! ice melting point 1172 1173 REAL(wp) :: zsrdg2 1173 1174 1174 1175 CHARACTER (len=80) :: & … … 1364 1365 ! Salinity 1365 1366 !------------- 1366 smsw(ji,jj) = sss_m(ji,jj) * vsw(ji,jj) * ridge_por 1367 1368 ! salinity of new ridge 1369 sm_newridge = ( srdg1(ji,jj) + smsw(ji,jj) ) / vrdg2(ji,jj) 1370 zdummy = sm_newridge * vrdg2(ji,jj) 1371 ! has to be smaller than s_i_max 1372 sm_newridge = MIN( s_i_max, sm_newridge ) 1373 1374 ! salt flux due to ridge creation 1375 fsalt_rpo(ji,jj) = fsalt_rpo(ji,jj) + & 1376 MAX ( zdummy - srdg2(ji,jj) , 0.0 ) & 1377 * rhoic / rdt_ice 1378 1379 ! sal times volume for new ridges 1380 srdg2(ji,jj) = sm_newridge * vrdg2(ji,jj) 1381 1367 smsw(ji,jj) = sss_m(ji,jj) * vsw(ji,jj) * rhoic / rau0 ! salt content of water frozen in voids 1368 1369 zsrdg2 = srdg1(ji,jj) + smsw(ji,jj) ! salt content of new ridge 1370 1371 srdg2(ji,jj) = MIN( s_i_max * vrdg2(ji,jj) , zsrdg2 ) ! impose a maximum salinity 1372 1373 ! ! excess of salt is flushed into the ocean 1374 fsalt_rpo(ji,jj) = fsalt_rpo(ji,jj) + ( zsrdg2 - srdg2(ji,jj) ) * rhoic / rdt_ice 1375 1382 1376 !------------------------------------ 1383 1377 ! 3.6 Increment ridging diagnostics -
trunk/NEMO/LIM_SRC_3/limthd.F90
r1565 r1571 105 105 zareamin 106 106 107 REAL(wp), DIMENSION(jpi,jpj) :: & 108 zhicifp , & ! ice thickness for outputs 109 zqlbsbq ! link with lead energy budget qldif 107 REAL(wp), DIMENSION(jpi,jpj) :: zqlbsbq ! link with lead energy budget qldif 110 108 111 109 !!------------------------------------------------------------------- … … 247 245 ! calculate oceanic heat flux (limthd_dh) 248 246 fbif (ji,jj) = zindb * ( fsbbq(ji,jj) / MAX( at_i(ji,jj) , epsi20 ) + fdtcn(ji,jj) ) 249 250 ! computation of the daily thermodynamic ice production (only needed for output) 251 zhicifp(ji,jj) = ht_i(ji,jj,1) * at_i(ji,jj) 252 zhicifp(ji,jj) = ht_i(ji,jj,1) * at_i(ji,jj) 247 ! 253 248 END DO 254 249 END DO … … 326 321 CALL tab_2d_1d( nbpb, qldif_1d (1:nbpb) , qldif , jpi, jpj, npb(1:nbpb) ) 327 322 CALL tab_2d_1d( nbpb, rdmicif_1d (1:nbpb) , rdmicif , jpi, jpj, npb(1:nbpb) ) 323 CALL tab_2d_1d( nbpb, rdmsnif_1d (1:nbpb) , rdmsnif , jpi, jpj, npb(1:nbpb) ) 328 324 CALL tab_2d_1d( nbpb, dmgwi_1d (1:nbpb) , dmgwi , jpi, jpj, npb(1:nbpb) ) 329 325 CALL tab_2d_1d( nbpb, qlbbq_1d (1:nbpb) , zqlbsbq , jpi, jpj, npb(1:nbpb) ) … … 397 393 CALL tab_1d_2d( nbpb, qfvbq , npb, qfvbq_1d (1:nbpb) , jpi, jpj ) 398 394 CALL tab_1d_2d( nbpb, rdmicif , npb, rdmicif_1d(1:nbpb) , jpi, jpj ) 395 CALL tab_1d_2d( nbpb, rdmsnif , npb, rdmsnif_1d(1:nbpb) , jpi, jpj ) 399 396 CALL tab_1d_2d( nbpb, dmgwi , npb, dmgwi_1d (1:nbpb) , jpi, jpj ) 400 CALL tab_1d_2d( nbpb, rdmsnif , npb, rdmsnif_1d(1:nbpb) , jpi, jpj )401 397 CALL tab_1d_2d( nbpb, rdvosif , npb, dvsbq_1d (1:nbpb) , jpi, jpj ) 402 398 CALL tab_1d_2d( nbpb, rdvobif , npb, dvbbq_1d (1:nbpb) , jpi, jpj ) -
trunk/NEMO/LIM_SRC_3/limthd_dh.F90
r1465 r1571 104 104 105 105 REAL(wp) :: & 106 zzfmass_i , & 107 zzfmass_s , & 106 108 zhsnew , & !: new snow thickness 107 109 zihgnew , & !: switch for total ablation … … 141 143 REAL(wp) , DIMENSION(jpij) :: & 142 144 z_f_surf, & ! surface heat for ablation 143 zhgnew ! new ice thickness 145 zhgnew , & ! new ice thickness 146 zfmass_i 144 147 145 148 REAL(wp), DIMENSION(jpij) :: & … … 302 305 - zdh_s_mel(ji) ) 303 306 dvsbq_1d(ji) = MIN( zzero, dvsbq_1d(ji) ) 304 rdmsnif_1d(ji) = r hosn*dvsbq_1d(ji)307 rdmsnif_1d(ji) = rdmsnif_1d(ji) + rhosn * dvsbq_1d(ji) 305 308 END DO ! ji 306 309 … … 669 672 ! Mass variations of ice and snow 670 673 !--------------------------------- 671 rdmicif_1d(ji) = rdmicif_1d(ji) + a_i_b(ji) * & 672 (zhgnew(ji)-ht_i_b(ji))*rhoic ! good 673 674 rdmsnif_1d(ji) = rdmsnif_1d(ji) + a_i_b(ji) * & 675 (ht_s_b(ji)-zhni)*rhosn ! good too 674 ! 675 zzfmass_s = - a_i_b(ji) * ( zhni - ht_s_b(ji) ) * rhosn ! snow 676 zzfmass_i = a_i_b(ji) * ( zhgnew(ji) - ht_i_b(ji) ) * rhoic ! ice 677 ! 678 zfmass_i(ji) = zzfmass_i ! ice variation saved to compute salt flux (see below) 679 ! 680 ! ! mass variation cumulated over category 681 rdmsnif_1d(ji) = rdmsnif_1d(ji) + zzfmass_s ! snow 682 rdmicif_1d(ji) = rdmicif_1d(ji) + zzfmass_i ! ice 676 683 677 684 ! Remaining heat to the ocean … … 695 702 IF ( num_sal .NE. 4 ) & 696 703 fseqv_1d(ji) = fseqv_1d(ji) + zihgnew * zfsalt_melt(ji) + & 697 (1.0 - zihgnew) * rdmicif_1d(ji) * &704 (1.0 - zihgnew) * zfmass_i(ji) * & 698 705 ( sss_m(zji,zjj) - sm_i_b(ji) ) / rdt_ice 699 706 ! new lines 700 707 IF ( num_sal .EQ. 4 ) & 701 708 fseqv_1d(ji) = fseqv_1d(ji) + zihgnew * zfsalt_melt(ji) + & 702 (1.0 - zihgnew) * rdmicif_1d(ji) * &709 (1.0 - zihgnew) * zfmass_i(ji) * & 703 710 ( sss_m(zji,zjj) - bulk_sal ) / rdt_ice 704 711 ! Heat flux
Note: See TracChangeset
for help on using the changeset viewer.