- Timestamp:
- 2020-09-15T12:49:18+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/temporary_r4_trunk/src/ICE/icectl.F90
r13466 r13469 366 366 cl_alname(ialert_id) = ' Very high salinity ' ! name of the alert 367 367 DO jl = 1, jpl 368 DO jj = 1, jpj 369 DO ji = 1, jpi 370 IF( v_i(ji,jj,jl) > epsi10 ) THEN 371 IF( sv_i(ji,jj,jl) / v_i(ji,jj,jl) > rn_simax ) THEN 372 WRITE(numout,*) ' ALERTE : Very high salinity ',sv_i(ji,jj,jl)/v_i(ji,jj,jl) 373 WRITE(numout,*) ' at i,j,l = ',ji,jj,jl 374 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 375 ENDIF 368 DO_2D_11_11 369 IF( v_i(ji,jj,jl) > epsi10 ) THEN 370 IF( sv_i(ji,jj,jl) / v_i(ji,jj,jl) > rn_simax ) THEN 371 WRITE(numout,*) ' ALERTE : Very high salinity ',sv_i(ji,jj,jl)/v_i(ji,jj,jl) 372 WRITE(numout,*) ' at i,j,l = ',ji,jj,jl 373 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 376 374 ENDIF 377 END DO378 END DO375 ENDIF 376 END_2D 379 377 END DO 380 378 … … 383 381 cl_alname(ialert_id) = ' Very low salinity ' ! name of the alert 384 382 DO jl = 1, jpl 385 DO jj = 1, jpj 386 DO ji = 1, jpi 387 IF( v_i(ji,jj,jl) > epsi10 ) THEN 388 IF( sv_i(ji,jj,jl) / v_i(ji,jj,jl) < rn_simin ) THEN 389 WRITE(numout,*) ' ALERTE : Very low salinity ',sv_i(ji,jj,jl),v_i(ji,jj,jl) 390 WRITE(numout,*) ' at i,j,l = ',ji,jj,jl 391 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 392 ENDIF 383 DO_2D_11_11 384 IF( v_i(ji,jj,jl) > epsi10 ) THEN 385 IF( sv_i(ji,jj,jl) / v_i(ji,jj,jl) < rn_simin ) THEN 386 WRITE(numout,*) ' ALERTE : Very low salinity ',sv_i(ji,jj,jl),v_i(ji,jj,jl) 387 WRITE(numout,*) ' at i,j,l = ',ji,jj,jl 388 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 393 389 ENDIF 394 END DO395 END DO390 ENDIF 391 END_2D 396 392 END DO 397 393 … … 400 396 cl_alname(ialert_id) = ' Very cold ice ' ! name of the alert 401 397 DO jl = 1, jpl 402 DO jk = 1, nlay_i 403 DO jj = 1, jpj 404 DO ji = 1, jpi 405 ztmelts = -rTmlt * sz_i(ji,jj,jk,jl) + rt0 406 IF( t_i(ji,jj,jk,jl) < -50.+rt0 .AND. v_i(ji,jj,jl) > epsi10 ) THEN 407 WRITE(numout,*) ' ALERTE : Very cold ice ',(t_i(ji,jj,jk,jl)-rt0) 408 WRITE(numout,*) ' at i,j,k,l = ',ji,jj,jk,jl 409 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 410 ENDIF 411 END DO 412 END DO 413 END DO 398 DO_3D_11_11( 1, nlay_i ) 399 ztmelts = -rTmlt * sz_i(ji,jj,jk,jl) + rt0 400 IF( t_i(ji,jj,jk,jl) < -50.+rt0 .AND. v_i(ji,jj,jl) > epsi10 ) THEN 401 WRITE(numout,*) ' ALERTE : Very cold ice ',(t_i(ji,jj,jk,jl)-rt0) 402 WRITE(numout,*) ' at i,j,k,l = ',ji,jj,jk,jl 403 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 404 ENDIF 405 END_3D 414 406 END DO 415 407 … … 418 410 cl_alname(ialert_id) = ' Very warm ice ' ! name of the alert 419 411 DO jl = 1, jpl 420 DO jk = 1, nlay_i 421 DO jj = 1, jpj 422 DO ji = 1, jpi 423 ztmelts = -rTmlt * sz_i(ji,jj,jk,jl) + rt0 424 IF( t_i(ji,jj,jk,jl) > ztmelts .AND. v_i(ji,jj,jl) > epsi10 ) THEN 425 WRITE(numout,*) ' ALERTE : Very warm ice',(t_i(ji,jj,jk,jl)-rt0) 426 WRITE(numout,*) ' at i,j,k,l = ',ji,jj,jk,jl 427 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 428 ENDIF 429 END DO 430 END DO 431 END DO 412 DO_3D_11_11( 1, nlay_i ) 413 ztmelts = -rTmlt * sz_i(ji,jj,jk,jl) + rt0 414 IF( t_i(ji,jj,jk,jl) > ztmelts .AND. v_i(ji,jj,jl) > epsi10 ) THEN 415 WRITE(numout,*) ' ALERTE : Very warm ice',(t_i(ji,jj,jk,jl)-rt0) 416 WRITE(numout,*) ' at i,j,k,l = ',ji,jj,jk,jl 417 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 418 ENDIF 419 END_3D 432 420 END DO 433 421 … … 436 424 cl_alname(ialert_id) = ' Very thick ice ' ! name of the alert 437 425 jl = jpl 438 DO jj = 1, jpj 439 DO ji = 1, jpi 440 IF( h_i(ji,jj,jl) > 50._wp ) THEN 441 WRITE(numout,*) ' ALERTE : Very thick ice ',h_i(ji,jj,jl) 442 WRITE(numout,*) ' at i,j,l = ',ji,jj,jl 443 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 444 ENDIF 445 END DO 446 END DO 426 DO_2D_11_11 427 IF( h_i(ji,jj,jl) > 50._wp ) THEN 428 WRITE(numout,*) ' ALERTE : Very thick ice ',h_i(ji,jj,jl) 429 WRITE(numout,*) ' at i,j,l = ',ji,jj,jl 430 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 431 ENDIF 432 END_2D 447 433 448 434 ! Alerte if very thin ice … … 450 436 cl_alname(ialert_id) = ' Very thin ice ' ! name of the alert 451 437 jl = 1 452 DO jj = 1, jpj 453 DO ji = 1, jpi 454 IF( h_i(ji,jj,jl) < rn_himin ) THEN 455 WRITE(numout,*) ' ALERTE : Very thin ice ',h_i(ji,jj,jl) 456 WRITE(numout,*) ' at i,j,l = ',ji,jj,jl 457 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 458 ENDIF 459 END DO 460 END DO 438 DO_2D_11_11 439 IF( h_i(ji,jj,jl) < rn_himin ) THEN 440 WRITE(numout,*) ' ALERTE : Very thin ice ',h_i(ji,jj,jl) 441 WRITE(numout,*) ' at i,j,l = ',ji,jj,jl 442 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 443 ENDIF 444 END_2D 461 445 462 446 ! Alert if very fast ice 463 447 ialert_id = ialert_id + 1 ! reference number of this alert 464 448 cl_alname(ialert_id) = ' Very fast ice ' ! name of the alert 465 DO jj = 1, jpj 466 DO ji = 1, jpi 467 IF( MAX( ABS( u_ice(ji,jj) ), ABS( v_ice(ji,jj) ) ) > 2. ) THEN 468 WRITE(numout,*) ' ALERTE : Very fast ice ',MAX( ABS( u_ice(ji,jj) ), ABS( v_ice(ji,jj) ) ) 469 WRITE(numout,*) ' at i,j = ',ji,jj 470 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 471 ENDIF 472 END DO 473 END DO 449 DO_2D_11_11 450 IF( MAX( ABS( u_ice(ji,jj) ), ABS( v_ice(ji,jj) ) ) > 2. ) THEN 451 WRITE(numout,*) ' ALERTE : Very fast ice ',MAX( ABS( u_ice(ji,jj) ), ABS( v_ice(ji,jj) ) ) 452 WRITE(numout,*) ' at i,j = ',ji,jj 453 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 454 ENDIF 455 END_2D 474 456 475 457 ! Alert if there is ice on continents 476 458 ialert_id = ialert_id + 1 ! reference number of this alert 477 459 cl_alname(ialert_id) = ' Ice on continents ' ! name of the alert 478 DO jj = 1, jpj 479 DO ji = 1, jpi 480 IF( tmask(ji,jj,1) == 0._wp .AND. ( at_i(ji,jj) > 0._wp .OR. vt_i(ji,jj) > 0._wp ) ) THEN 481 WRITE(numout,*) ' ALERTE : Ice on continents ',at_i(ji,jj),vt_i(ji,jj) 482 WRITE(numout,*) ' at i,j = ',ji,jj 483 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 484 ENDIF 485 END DO 486 END DO 460 DO_2D_11_11 461 IF( tmask(ji,jj,1) == 0._wp .AND. ( at_i(ji,jj) > 0._wp .OR. vt_i(ji,jj) > 0._wp ) ) THEN 462 WRITE(numout,*) ' ALERTE : Ice on continents ',at_i(ji,jj),vt_i(ji,jj) 463 WRITE(numout,*) ' at i,j = ',ji,jj 464 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 465 ENDIF 466 END_2D 487 467 488 468 ! Alert if incompatible ice concentration and volume 489 469 ialert_id = ialert_id + 1 ! reference number of this alert 490 470 cl_alname(ialert_id) = ' Incompatible ice conc and vol ' ! name of the alert 491 DO jj = 1, jpj 492 DO ji = 1, jpi 493 IF( ( vt_i(ji,jj) == 0._wp .AND. at_i(ji,jj) > 0._wp ) .OR. & 494 & ( vt_i(ji,jj) > 0._wp .AND. at_i(ji,jj) == 0._wp ) ) THEN 495 WRITE(numout,*) ' ALERTE : Incompatible ice conc and vol ',at_i(ji,jj),vt_i(ji,jj) 496 WRITE(numout,*) ' at i,j = ',ji,jj 497 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 498 ENDIF 499 END DO 500 END DO 471 DO_2D_11_11 472 IF( ( vt_i(ji,jj) == 0._wp .AND. at_i(ji,jj) > 0._wp ) .OR. & 473 & ( vt_i(ji,jj) > 0._wp .AND. at_i(ji,jj) == 0._wp ) ) THEN 474 WRITE(numout,*) ' ALERTE : Incompatible ice conc and vol ',at_i(ji,jj),vt_i(ji,jj) 475 WRITE(numout,*) ' at i,j = ',ji,jj 476 inb_alp(ialert_id) = inb_alp(ialert_id) + 1 477 ENDIF 478 END_2D 501 479 502 480 ! sum of the alerts on all processors
Note: See TracChangeset
for help on using the changeset viewer.