Changeset 921 for trunk/NEMO/LIM_SRC_3/limrst.F90
- Timestamp:
- 2008-05-13T10:28:52+02:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/LIM_SRC_3/limrst.F90
r919 r921 22 22 USE daymod 23 23 USE iom 24 24 25 25 IMPLICIT NONE 26 26 PRIVATE 27 27 28 28 !! * Accessibility 29 29 PUBLIC lim_rst_opn ! routine called by icestep.F90 … … 55 55 ! 56 56 IF( kt == nit000 ) lrst_ice = .FALSE. ! default definition 57 57 58 58 ! to get better performances with NetCDF format: 59 59 ! we open and define the ice restart file one ice time step before writing the data (-> at nitrst - 2*nn_fsbc + 1) … … 101 101 CHARACTER(len=1) :: zchar, zchar1 102 102 !!---------------------------------------------------------------------- 103 103 104 104 iter = kt + nn_fsbc - 1 ! ice restarts are written at kt == nitrst - nn_fsbc + 1 105 105 … … 294 294 ENDIF 295 295 ! 296 297 !+++++++++++ CHECK EVERYTHING ++++++++++298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 !+++++++++++ END CHECK +++++++++++++++++381 382 383 296 297 IF( ln_nicep) THEN 298 WRITE(numout,*) 299 WRITE(numout,*) ' lim_rst_write : CHUKCHI SEA POINT ' 300 WRITE(numout,*) ' ~~~~~~~~~~' 301 WRITE(numout,*) ' ~~~ Arctic' 302 303 ji = jiindx 304 jj = jjindx 305 306 WRITE(numout,*) ' ji, jj ', ji, jj 307 WRITE(numout,*) ' ICE VARIABLES ' 308 WRITE(numout,*) ' open water ', ato_i(ji,jj) 309 DO jl = 1, jpl 310 WRITE(numout,*) ' *** CATEGORY NUMBER *** ', jl 311 WRITE(numout,*) ' ' 312 WRITE(numout,*) ' a_i : ', a_i(ji,jj,jl) 313 WRITE(numout,*) ' v_i : ', v_i(ji,jj,jl) 314 WRITE(numout,*) ' v_s : ', v_s(ji,jj,jl) 315 WRITE(numout,*) ' e_s : ', e_s(ji,jj,1,jl)/1.0e9 316 WRITE(numout,*) ' e_i1 : ', e_i(ji,jj,1,jl)/1.0e9 317 WRITE(numout,*) ' e_i2 : ', e_i(ji,jj,2,jl)/1.0e9 318 WRITE(numout,*) ' smv_i : ', smv_i(ji,jj,jl) 319 WRITE(numout,*) ' oa_i : ', oa_i(ji,jj,jl) 320 WRITE(numout,*) ' t_su : ', t_su(ji,jj,jl) 321 END DO 322 323 WRITE(numout,*) ' MOMENTS OF ADVECTION ' 324 325 WRITE(numout,*) ' open water ' 326 WRITE(numout,*) ' sxopw ', sxopw(ji,jj) 327 WRITE(numout,*) ' syopw ', syopw(ji,jj) 328 WRITE(numout,*) ' sxxopw ', sxxopw(ji,jj) 329 WRITE(numout,*) ' syyopw ', syyopw(ji,jj) 330 WRITE(numout,*) ' sxyopw ', sxyopw(ji,jj) 331 DO jl = 1, jpl 332 WRITE(numout,*) ' jl, ice volume content ', jl 333 WRITE(numout,*) ' sxice ', sxice(ji,jj,jl) 334 WRITE(numout,*) ' syice ', syice(ji,jj,jl) 335 WRITE(numout,*) ' sxxice ', sxxice(ji,jj,jl) 336 WRITE(numout,*) ' syyice ', syyice(ji,jj,jl) 337 WRITE(numout,*) ' sxyice ', sxyice(ji,jj,jl) 338 WRITE(numout,*) ' jl, snow volume content ', jl 339 WRITE(numout,*) ' sxsn ', sxsn(ji,jj,jl) 340 WRITE(numout,*) ' sysn ', sysn(ji,jj,jl) 341 WRITE(numout,*) ' sxxsn ', sxxsn(ji,jj,jl) 342 WRITE(numout,*) ' syysn ', syysn(ji,jj,jl) 343 WRITE(numout,*) ' sxysn ', sxysn(ji,jj,jl) 344 WRITE(numout,*) ' jl, ice area in category ', jl 345 WRITE(numout,*) ' sxa ', sxa (ji,jj,jl) 346 WRITE(numout,*) ' sya ', sya (ji,jj,jl) 347 WRITE(numout,*) ' sxxa ', sxxa (ji,jj,jl) 348 WRITE(numout,*) ' syya ', syya (ji,jj,jl) 349 WRITE(numout,*) ' sxya ', sxya (ji,jj,jl) 350 WRITE(numout,*) ' jl, snow temp ', jl 351 WRITE(numout,*) ' sxc0 ', sxc0(ji,jj,jl) 352 WRITE(numout,*) ' syc0 ', syc0(ji,jj,jl) 353 WRITE(numout,*) ' sxxc0 ', sxxc0(ji,jj,jl) 354 WRITE(numout,*) ' syyc0 ', syyc0(ji,jj,jl) 355 WRITE(numout,*) ' sxyc0 ', sxyc0(ji,jj,jl) 356 WRITE(numout,*) ' jl, ice salinity ', jl 357 WRITE(numout,*) ' sxsal ', sxsal(ji,jj,jl) 358 WRITE(numout,*) ' sysal ', sysal(ji,jj,jl) 359 WRITE(numout,*) ' sxxsal ', sxxsal(ji,jj,jl) 360 WRITE(numout,*) ' syysal ', syysal(ji,jj,jl) 361 WRITE(numout,*) ' sxysal ', sxysal(ji,jj,jl) 362 WRITE(numout,*) ' jl, ice age ', jl 363 WRITE(numout,*) ' sxage ', sxage(ji,jj,jl) 364 WRITE(numout,*) ' syage ', syage(ji,jj,jl) 365 WRITE(numout,*) ' sxxage ', sxxage(ji,jj,jl) 366 WRITE(numout,*) ' syyage ', syyage(ji,jj,jl) 367 WRITE(numout,*) ' sxyage ', sxyage(ji,jj,jl) 368 END DO 369 DO jl = 1, jpl 370 DO jk = 1, nlay_i 371 WRITE(numout,*) ' jk, jl, ice heat content', jk, jl 372 WRITE(numout,*) ' sxe ', sxe(ji,jj,jk,jl) 373 WRITE(numout,*) ' sye ', sye(ji,jj,jk,jl) 374 WRITE(numout,*) ' sxxe ', sxxe(ji,jj,jk,jl) 375 WRITE(numout,*) ' syye ', syye(ji,jj,jk,jl) 376 WRITE(numout,*) ' sxye ', sxye(ji,jj,jk,jl) 377 END DO 378 END DO 379 380 ENDIF 381 382 END SUBROUTINE lim_rst_write 383 384 384 SUBROUTINE lim_rst_read 385 385 !!---------------------------------------------------------------------- … … 398 398 CHARACTER(len=1) :: zchar, zchar1 399 399 !!---------------------------------------------------------------------- 400 400 401 401 IF(lwp) THEN 402 402 WRITE(numout,*) … … 413 413 414 414 !Control of date 415 415 416 416 IF( ( nit000 - INT(ziter) ) /= 1 .AND. ABS( nrstdt ) == 1 ) & 417 417 & CALL ctl_stop( 'lim_rst_read ===>>>> : problem with nit000 in ice restart', & … … 461 461 END DO 462 462 END DO 463 463 464 464 DO jk = 1, nlay_i 465 465 s_i(:,:,jk,:) = sm_i(:,:,:) 466 466 END DO 467 467 468 468 ! Salinity profile 469 469 !----------------- 470 470 WRITE(numout,*) ' num_sal - will restart understand salinity profile ', num_sal 471 471 472 472 num_sal = 2 473 473 IF(num_sal.eq.2) THEN 474 ! CALL lim_var_salprof474 ! CALL lim_var_salprof 475 475 DO jl = 1, jpl 476 476 DO jk = 1, nlay_i … … 479 479 zs_inf = sm_i(ji,jj,jl) 480 480 z_slope_s = 2.0*sm_i(ji,jj,jl)/MAX(0.01,ht_i(ji,jj,jl)) 481 481 !- slope of the salinity profile 482 482 zs_zero(jk) = z_slope_s * ( FLOAT(jk)-1.0/2.0 ) * & 483 483 ht_i(ji,jj,jl) / FLOAT(nlay_i) 484 484 zsmax = 4.5 485 485 zsmin = 3.5 … … 497 497 END DO 498 498 ENDIF 499 499 500 500 # if defined key_coupled 501 501 CALL iom_get( numrir, jpdom_autoglo, 'albege' , albege ) … … 507 507 e_s(:,:,1,jl) = z2d(:,:) 508 508 END DO 509 509 510 510 DO jl = 1, jpl 511 511 WRITE(zchar,'(I1)') jl … … 651 651 CALL iom_close( numrir ) 652 652 653 !+++++++++++ CHECK EVERYTHING ++++++++++654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 !+++++++++++ END CHECK +++++++++++++++++737 738 739 740 653 !+++++++++++ CHECK EVERYTHING ++++++++++ 654 655 WRITE(numout,*) 656 WRITE(numout,*) ' lim_rst_read : CHUKCHI SEA POINT ' 657 WRITE(numout,*) ' ~~~~~~~~~~' 658 WRITE(numout,*) ' ~~~ Arctic' 659 660 indx = 1 661 ji = 24 662 jj = 24 663 WRITE(numout,*) ' ji, jj ', ji, jj 664 WRITE(numout,*) ' ICE VARIABLES ' 665 WRITE(numout,*) ' open water ', ato_i(ji,jj) 666 667 DO jl = 1, jpl 668 WRITE(numout,*) ' *** CATEGORY NUMBER *** ', jl 669 WRITE(numout,*) ' ' 670 WRITE(numout,*) ' a_i : ', a_i(ji,jj,jl) 671 WRITE(numout,*) ' v_i : ', v_i(ji,jj,jl) 672 WRITE(numout,*) ' v_s : ', v_s(ji,jj,jl) 673 WRITE(numout,*) ' e_i1 : ', e_i(ji,jj,1,jl)/1.0e9 674 WRITE(numout,*) ' e_i2 : ', e_i(ji,jj,2,jl)/1.0e9 675 WRITE(numout,*) ' e_s : ', e_s(ji,jj,1,jl) 676 WRITE(numout,*) ' smv_i : ', smv_i(ji,jj,jl) 677 WRITE(numout,*) ' oa_i : ', oa_i(ji,jj,jl) 678 WRITE(numout,*) ' t_su : ', t_su(ji,jj,jl) 679 END DO 680 681 WRITE(numout,*) ' open water ' 682 WRITE(numout,*) ' sxopw ', sxopw(ji,jj) 683 WRITE(numout,*) ' syopw ', syopw(ji,jj) 684 WRITE(numout,*) ' sxxopw ', sxxopw(ji,jj) 685 WRITE(numout,*) ' syyopw ', syyopw(ji,jj) 686 WRITE(numout,*) ' sxyopw ', sxyopw(ji,jj) 687 DO jl = 1, jpl 688 WRITE(numout,*) ' jl, ice volume content ', jl 689 WRITE(numout,*) ' sxice ', sxice(ji,jj,jl) 690 WRITE(numout,*) ' syice ', syice(ji,jj,jl) 691 WRITE(numout,*) ' sxxice ', sxxice(ji,jj,jl) 692 WRITE(numout,*) ' syyice ', syyice(ji,jj,jl) 693 WRITE(numout,*) ' sxyice ', sxyice(ji,jj,jl) 694 WRITE(numout,*) ' jl, snow volume content ', jl 695 WRITE(numout,*) ' sxsn ', sxsn(ji,jj,jl) 696 WRITE(numout,*) ' sysn ', sysn(ji,jj,jl) 697 WRITE(numout,*) ' sxxsn ', sxxsn(ji,jj,jl) 698 WRITE(numout,*) ' syysn ', syysn(ji,jj,jl) 699 WRITE(numout,*) ' sxysn ', sxysn(ji,jj,jl) 700 WRITE(numout,*) ' jl, ice area in category ', jl 701 WRITE(numout,*) ' sxa ', sxa (ji,jj,jl) 702 WRITE(numout,*) ' sya ', sya (ji,jj,jl) 703 WRITE(numout,*) ' sxxa ', sxxa (ji,jj,jl) 704 WRITE(numout,*) ' syya ', syya (ji,jj,jl) 705 WRITE(numout,*) ' sxya ', sxya (ji,jj,jl) 706 WRITE(numout,*) ' jl, snow temp ', jl 707 WRITE(numout,*) ' sxc0 ', sxc0(ji,jj,jl) 708 WRITE(numout,*) ' syc0 ', syc0(ji,jj,jl) 709 WRITE(numout,*) ' sxxc0 ', sxxc0(ji,jj,jl) 710 WRITE(numout,*) ' syyc0 ', syyc0(ji,jj,jl) 711 WRITE(numout,*) ' sxyc0 ', sxyc0(ji,jj,jl) 712 WRITE(numout,*) ' jl, ice salinity ', jl 713 WRITE(numout,*) ' sxsal ', sxsal(ji,jj,jl) 714 WRITE(numout,*) ' sysal ', sysal(ji,jj,jl) 715 WRITE(numout,*) ' sxxsal ', sxxsal(ji,jj,jl) 716 WRITE(numout,*) ' syysal ', syysal(ji,jj,jl) 717 WRITE(numout,*) ' sxysal ', sxysal(ji,jj,jl) 718 WRITE(numout,*) ' jl, ice age ', jl 719 WRITE(numout,*) ' sxage ', sxage(ji,jj,jl) 720 WRITE(numout,*) ' syage ', syage(ji,jj,jl) 721 WRITE(numout,*) ' sxxage ', sxxage(ji,jj,jl) 722 WRITE(numout,*) ' syyage ', syyage(ji,jj,jl) 723 WRITE(numout,*) ' sxyage ', sxyage(ji,jj,jl) 724 END DO 725 DO jl = 1, jpl 726 DO jk = 1, nlay_i 727 WRITE(numout,*) ' jk, jl, ice heat content', jk, jl 728 WRITE(numout,*) ' sxe ', sxe(ji,jj,jk,jl) 729 WRITE(numout,*) ' sye ', sye(ji,jj,jk,jl) 730 WRITE(numout,*) ' sxxe ', sxxe(ji,jj,jk,jl) 731 WRITE(numout,*) ' syye ', syye(ji,jj,jk,jl) 732 WRITE(numout,*) ' sxye ', sxye(ji,jj,jk,jl) 733 END DO 734 END DO 735 736 !+++++++++++ END CHECK +++++++++++++++++ 737 738 END SUBROUTINE lim_rst_read 739 740 741 741 #else 742 742 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.