Changeset 5128 for trunk/NEMOGCM
- Timestamp:
- 2015-03-05T18:23:13+01:00 (9 years ago)
- Location:
- trunk/NEMOGCM/NEMO
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/LIM_SRC_3/ice.F90
r5123 r5128 373 373 CHARACTER(len=32), PUBLIC :: cn_icerst_out !: suffix of ice restart name (output) 374 374 LOGICAL , PUBLIC :: ln_limdyn !: flag for ice dynamics (T) or not (F) 375 LOGICAL , PUBLIC :: ln_ nicep!: flag for sea-ice points output (T) or not (F)375 LOGICAL , PUBLIC :: ln_icectl !: flag for sea-ice points output (T) or not (F) 376 376 REAL(wp) , PUBLIC :: rn_amax !: maximum ice concentration 377 INTEGER , PUBLIC :: iiceprt !: debug i-point 378 INTEGER , PUBLIC :: jiceprt !: debug j-point 377 379 ! 378 380 !!-------------------------------------------------------------------------- … … 392 394 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: diag_heat_dhc !: snw/ice heat content variation [W/m2] 393 395 ! 394 INTEGER , PUBLIC :: jiindx, jjindx !: indexes of the debugging point395 396 396 !!---------------------------------------------------------------------- 397 397 !! NEMO/LIM3 4.0 , UCL - NEMO Consortium (2010) -
trunk/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90
r5123 r5128 887 887 CALL lim_column_sum (jpl, v_i, vice_init ) 888 888 CALL lim_column_sum_energy (jpl, nlay_i, e_i, eice_init ) 889 DO ji = mi0( jiindx), mi1(jiindx)890 DO jj = mj0(j jindx), mj1(jjindx)889 DO ji = mi0(iiceprt), mi1(iiceprt) 890 DO jj = mj0(jiceprt), mj1(jiceprt) 891 891 WRITE(numout,*) ' vice_init : ', vice_init(ji,jj) 892 892 WRITE(numout,*) ' eice_init : ', eice_init(ji,jj) … … 1251 1251 CALL lim_cons_check (eice_init, eice_final, 1.0e-2, fieldid) 1252 1252 1253 DO ji = mi0( jiindx), mi1(jiindx)1254 DO jj = mj0(j jindx), mj1(jjindx)1253 DO ji = mi0(iiceprt), mi1(iiceprt) 1254 DO jj = mj0(jiceprt), mj1(jiceprt) 1255 1255 WRITE(numout,*) ' vice_init : ', vice_init (ji,jj) 1256 1256 WRITE(numout,*) ' vice_final : ', vice_final(ji,jj) -
trunk/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90
r5123 r5128 86 86 ENDIF 87 87 ! 88 IF( ln_ nicep ) CALL lim_prt( kt, jiindx, jjindx, 1, ' - Beginning the time step - ' ) ! control print88 IF( ln_icectl ) CALL lim_prt( kt, iiceprt, jiceprt, 1, ' - Beginning the time step - ' ) ! control print 89 89 END SUBROUTINE lim_rst_opn 90 90 … … 307 307 !! ** purpose : read of sea-ice variable restart in a netcdf file 308 308 !!---------------------------------------------------------------------- 309 INTEGER :: ji, jj, jk, jl , indx309 INTEGER :: ji, jj, jk, jl 310 310 REAL(wp) :: zfice, ziter 311 REAL(wp) :: zs_inf, z_slope_s, zsmax, zsmin, zalpha ! local scalars used for the salinity profile312 REAL(wp), POINTER, DIMENSION(:) :: zs_zero313 311 REAL(wp), POINTER, DIMENSION(:,:) :: z2d 314 312 CHARACTER(len=15) :: znam … … 318 316 !!---------------------------------------------------------------------- 319 317 320 CALL wrk_alloc( nlay_i, zs_zero )321 318 CALL wrk_alloc( jpi, jpj, z2d ) 322 319 … … 534 531 !CALL iom_close( numrir ) !clem: closed in sbcice_lim.F90 535 532 ! 536 CALL wrk_dealloc( nlay_i, zs_zero )537 533 CALL wrk_dealloc( jpi, jpj, z2d ) 538 534 ! -
trunk/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90
r5123 r5128 222 222 ENDIF 223 223 224 IF( ln_ nicep ) CALL lim_prt( kt, jiindx, jjindx, 3, ' - Final state lim_sbc - ' ) ! control print224 IF( ln_icectl ) CALL lim_prt( kt, iiceprt, jiceprt, 3, ' - Final state lim_sbc - ' ) ! control print 225 225 226 226 IF(ln_ctl) THEN -
trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90
r5123 r5128 263 263 ! debug point to follow 264 264 jiindex_1d = 0 265 IF( ln_ nicep) THEN266 DO ji = mi0( jiindx), mi1(jiindx)267 DO jj = mj0(j jindx), mj1(jjindx)265 IF( ln_icectl ) THEN 266 DO ji = mi0(iiceprt), mi1(iiceprt) 267 DO jj = mj0(jiceprt), mj1(jiceprt) 268 268 jiindex_1d = (jj - 1) * jpi + ji 269 269 WRITE(numout,*) ' lim_thd : Category no : ', jl … … 363 363 ! Diagnostic thermodynamic growth rates 364 364 !-------------------------------------------- 365 IF( ln_ nicep ) CALL lim_prt( kt, jiindx, jjindx, 1, ' - ice thermodyn. - ' ) ! control print365 IF( ln_icectl ) CALL lim_prt( kt, iiceprt, jiceprt, 1, ' - ice thermodyn. - ' ) ! control print 366 366 367 367 IF(ln_ctl) THEN ! Control print -
trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dh.F90
r5123 r5128 591 591 DO ji = kideb, kiut 592 592 zq_rema(ji) = zq_su(ji) + zq_bo(ji) 593 ! zindh= 1._wp - MAX( 0._wp, SIGN( 1._wp, - ht_s_1d(ji) ) ) ! =1 if snow594 ! zindq = 1._wp - MAX( 0._wp, SIGN( 1._wp, - zq_s(ji) +epsi20 ) )595 ! zdeltah (ji,1) = - zindh * zindq* zq_rema(ji) / MAX( zq_s(ji), epsi20 )596 !zdeltah (ji,1) = MIN( 0._wp , MAX( zdeltah(ji,1) , - ht_s_1d(ji) ) ) ! bound melting597 !zdh_s_mel(ji) = zdh_s_mel(ji) + zdeltah(ji,1)598 ! dh_s_tot (ji) = dh_s_tot(ji)+ zdeltah(ji,1)599 ! ht_s_1d (ji)= ht_s_1d(ji) + zdeltah(ji,1)600 !601 !zq_rema(ji) = zq_rema(ji) + zdeltah(ji,1) * zq_s(ji) ! update available heat (J.m-2)602 !! heat used to melt snow603 !hfx_snw_1d(ji) = hfx_snw_1d(ji) - zdeltah(ji,1) * a_i_1d(ji) * zq_s(ji) * r1_rdtice ! W.m-2 (>0)604 !! Contribution to mass flux605 !wfx_snw_1d(ji) = wfx_snw_1d(ji) - rhosn * a_i_1d(ji) * zdeltah(ji,1) * r1_rdtice606 !593 rswitch = 1._wp - MAX( 0._wp, SIGN( 1._wp, - ht_s_1d(ji) ) ) ! =1 if snow 594 rswitch = rswitch * MAX( 0._wp, SIGN( 1._wp, zq_s(ji) - epsi20 ) ) 595 zdeltah (ji,1) = - rswitch * zq_rema(ji) / MAX( zq_s(ji), epsi20 ) 596 zdeltah (ji,1) = MIN( 0._wp , MAX( zdeltah(ji,1) , - ht_s_1d(ji) ) ) ! bound melting 597 zdh_s_mel(ji) = zdh_s_mel(ji) + zdeltah(ji,1) 598 dh_s_tot (ji) = dh_s_tot(ji) + zdeltah(ji,1) 599 ht_s_1d (ji) = ht_s_1d(ji) + zdeltah(ji,1) 600 601 zq_rema(ji) = zq_rema(ji) + zdeltah(ji,1) * zq_s(ji) ! update available heat (J.m-2) 602 ! heat used to melt snow 603 hfx_snw_1d(ji) = hfx_snw_1d(ji) - zdeltah(ji,1) * a_i_1d(ji) * zq_s(ji) * r1_rdtice ! W.m-2 (>0) 604 ! Contribution to mass flux 605 wfx_snw_1d(ji) = wfx_snw_1d(ji) - rhosn * a_i_1d(ji) * zdeltah(ji,1) * r1_rdtice 606 ! 607 607 ii = MOD( npb(ji) - 1, jpi ) + 1 ; ij = ( npb(ji) - 1 ) / jpi + 1 608 608 ! Remaining heat flux (W.m-2) is sent to the ocean heat budget 609 609 hfx_out(ii,ij) = hfx_out(ii,ij) + ( zq_rema(ji) * a_i_1d(ji) ) * r1_rdtice 610 610 611 IF( ln_ nicep.AND. zq_rema(ji) < 0. .AND. lwp ) WRITE(numout,*) 'ALERTE zq_rema <0 = ', zq_rema(ji)611 IF( ln_icectl .AND. zq_rema(ji) < 0. .AND. lwp ) WRITE(numout,*) 'ALERTE zq_rema <0 = ', zq_rema(ji) 612 612 END DO 613 613 -
trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90
r5123 r5128 734 734 END DO ! End of the do while iterative procedure 735 735 736 IF( ln_ nicep.AND. lwp ) THEN736 IF( ln_icectl .AND. lwp ) THEN 737 737 WRITE(numout,*) ' zerritmax : ', zerritmax 738 738 WRITE(numout,*) ' nconv : ', nconv -
trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_lac.F90
r5123 r5128 265 265 ! debug point to follow 266 266 jiindex_1d = 0 267 IF( ln_ nicep) THEN268 DO ji = mi0( jiindx), mi1(jiindx)269 DO jj = mj0(j jindx), mj1(jjindx)267 IF( ln_icectl ) THEN 268 DO ji = mi0(iiceprt), mi1(iiceprt) 269 DO jj = mj0(jiceprt), mj1(jiceprt) 270 270 IF ( qlead(ji,jj) < 0._wp ) THEN 271 271 jiindex_1d = (jj - 1) * jpi + ji … … 275 275 ENDIF 276 276 277 IF( ln_ nicep) WRITE(numout,*) 'lim_thd_lac : nbpac = ', nbpac277 IF( ln_icectl ) WRITE(numout,*) 'lim_thd_lac : nbpac = ', nbpac 278 278 279 279 !------------------------------ -
trunk/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90
r5123 r5128 455 455 ! control prints 456 456 ! ------------------------------------------------- 457 IF( ln_ nicep ) CALL lim_prt( kt, jiindx, jjindx,-1, ' - ice dyn & trp - ' )457 IF( ln_icectl ) CALL lim_prt( kt, iiceprt, jiceprt,-1, ' - ice dyn & trp - ' ) 458 458 ! 459 459 CALL wrk_dealloc( jpi,jpj, zsm, zs0at, zatold, zeiold, zesold ) -
trunk/NEMOGCM/NEMO/LIM_SRC_3/limupdate2.F90
r5123 r5128 198 198 ! control prints 199 199 ! ------------------------------------------------- 200 IF( ln_ nicep ) CALL lim_prt( kt, jiindx, jjindx, 2, ' - Final state - ' ) ! control print200 IF( ln_icectl ) CALL lim_prt( kt, iiceprt, jiceprt, 2, ' - Final state - ' ) ! control print 201 201 202 202 IF(ln_ctl) THEN ! Control print -
trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90
r5123 r5128 206 206 CALL lim_var_zapsmall 207 207 CALL lim_var_agg(1) 208 IF( ln_ nicep ) CALL lim_prt( kt, jiindx, jjindx, 1, ' - ice thermo bdy - ' )208 IF( ln_icectl ) CALL lim_prt( kt, iiceprt, jiceprt, 1, ' - ice thermo bdy - ' ) 209 209 #endif 210 210 CALL lim_update1( kt ) … … 250 250 CALL lim_var_glo2eqv ! ??? 251 251 ! 252 IF( ln_ nicep) CALL lim_ctl( kt ) ! alerts in case of model crash252 IF( ln_icectl ) CALL lim_ctl( kt ) ! alerts in case of model crash 253 253 ! 254 254 CALL wrk_dealloc( jpi,jpj,jpl, zalb_os, zalb_cs, zalb_ice ) … … 352 352 INTEGER :: ios ! Local integer output status for namelist read 353 353 NAMELIST/namicerun/ jpl, nlay_i, nlay_s, cn_icerst_in, cn_icerst_out, & 354 & ln_limdyn, rn_amax, ln_ nicep, ln_limdiahsb, ln_limdiaout354 & ln_limdyn, rn_amax, ln_limdiahsb, ln_limdiaout, ln_icectl, iiceprt, jiceprt 355 355 !!------------------------------------------------------------------- 356 356 ! … … 374 374 WRITE(numout,*) ' switch for ice dynamics (1) or not (0) ln_limdyn = ', ln_limdyn 375 375 WRITE(numout,*) ' maximum ice concentration = ', rn_amax 376 WRITE(numout,*) ' Several ice points in the ice or not in ocean.output = ', ln_nicep377 376 WRITE(numout,*) ' Diagnose heat/salt budget or not ln_limdiahsb = ', ln_limdiahsb 378 377 WRITE(numout,*) ' Output heat/salt budget or not ln_limdiaout = ', ln_limdiaout 379 ENDIF 380 ! 381 !IF( lk_mpp .AND. ln_nicep ) THEN 382 ! ln_nicep = .FALSE. 383 ! CALL ctl_warn( 'ice_run : specific control print for LIM3 desactivated with MPI' ) 384 !ENDIF 385 IF( ln_nicep ) THEN ! control print at a given point 386 jiindx = 15 ; jjindx = 44 387 IF(lwp) WRITE(numout,*) ' The debugging point is : jiindx : ',jiindx, ' jjindx : ',jjindx 378 WRITE(numout,*) ' control prints in ocean.out for (i,j)=(iiceprt,jiceprt) = ', ln_icectl 379 WRITE(numout,*) ' i-index for control prints (ln_icectl=true) = ', iiceprt 380 WRITE(numout,*) ' j-index for control prints (ln_icectl=true) = ', jiceprt 388 381 ENDIF 389 382 !
Note: See TracChangeset
for help on using the changeset viewer.