- Timestamp:
- 2016-02-24T08:56:48+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_r6325_SIMPLIF_1/NEMOGCM/NEMO/LIM_SRC_3/limistate.F90
r6140 r6347 273 273 !--------------------- 274 274 ! Test 1: area conservation 275 zA_cons = SUM(za_i_ini(ji,jj,:)) ; zconv = ABS(zat_i_ini(ji,jj) - zA_cons ) 276 IF ( zconv .LT. 1.0e-6 ) THEN 275 zA_cons = SUM( za_i_ini(ji,jj,:) ) 276 zconv = ABS( zat_i_ini(ji,jj) - zA_cons ) 277 IF ( zconv < 1.0e-6 ) THEN 277 278 ztest_1 = 1 278 279 ELSE 279 !this write is useful 280 IF(lwp) WRITE(numout,*) ' * TEST1 AREA NOT CONSERVED *** zA_cons = ', zA_cons,' zat_i_ini = ',zat_i_ini(ji,jj) 280 ! this write is useful 281 IF(lwp) WRITE(numout,*) ' * TEST1 AREA NOT CONSERVED *** zA_cons = ', zA_cons, & 282 & ' zat_i_ini = ',zat_i_ini(ji,jj) 281 283 ztest_1 = 0 282 284 ENDIF 283 285 284 286 ! Test 2: volume conservation 285 zV_cons = SUM( zv_i_ini(ji,jj,:))286 zconv = ABS(zvt_i_ini(ji,jj) - zV_cons)287 288 IF( zconv .LT.1.0e-6 ) THEN287 zV_cons = SUM( zv_i_ini(ji,jj,:) ) 288 zconv = ABS( zvt_i_ini(ji,jj) - zV_cons ) 289 290 IF( zconv < 1.0e-6 ) THEN 289 291 ztest_2 = 1 290 292 ELSE 291 ! this write is useful292 IF(lwp) WRITE(numout,*) ' * TEST2 VOLUME NOT CONSERVED *** zV_cons = ', zV_cons, &293 ' zvt_i_ini = ', zvt_i_ini(ji,jj)293 ! this write is useful 294 IF(lwp) WRITE(numout,*) ' * TEST2 VOLUME NOT CONSERVED *** zV_cons = ', zV_cons, & 295 & ' zvt_i_ini = ', zvt_i_ini(ji,jj) 294 296 ztest_2 = 0 295 297 ENDIF … … 300 302 ELSE 301 303 ! this write is useful 302 IF(lwp) WRITE(numout,*) ' * TEST 3 THICKNESS OF THE LAST CATEGORY OUT OF BOUNDS *** zh_i_ini(ji,jj,i_fill) = ',&303 zh_i_ini(ji,jj,i_fill), ' hi_max(jpl-1) = ', hi_max(i_fill-1)304 IF(lwp) WRITE(numout,*) ' * TEST3 THICKNESS OF THE LAST CATEGORY OUT OF BOUNDS *** ', & 305 & ' zh_i_ini(ji,jj,i_fill) = ', zh_i_ini(ji,jj,i_fill), ' hi_max(jpl-1) = ', hi_max(i_fill-1) 304 306 IF(lwp) WRITE(numout,*) ' ji,jj,i_fill ',ji,jj,i_fill 305 307 IF(lwp) WRITE(numout,*) 'zht_i_ini ',zht_i_ini(ji,jj) … … 529 531 !!----------------------------------------------------------------------------- 530 532 ! 531 REWIND( numnam_ice_ref ) 533 REWIND( numnam_ice_ref ) ! Namelist namiceini in reference namelist : Ice initial state 532 534 READ ( numnam_ice_ref, namiceini, IOSTAT = ios, ERR = 901) 533 535 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceini in reference namelist', lwp ) 534 536 535 REWIND( numnam_ice_cfg ) 537 REWIND( numnam_ice_cfg ) ! Namelist namiceini in configuration namelist : Ice initial state 536 538 READ ( numnam_ice_cfg, namiceini, IOSTAT = ios, ERR = 902 ) 537 539 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceini in configuration namelist', lwp ) 538 540 IF(lwm) WRITE ( numoni, namiceini ) 539 541 540 slf_i(jp_hti) = sn_hti ; slf_i(jp_hts) = sn_hts 541 slf_i(jp_ati) = sn_ati ; slf_i(jp_tsu) = sn_tsu 542 slf_i(jp_tmi) = sn_tmi ; slf_i(jp_smi) = sn_smi 543 544 ! Define the initial parameters 545 ! ------------------------- 546 547 IF(lwp) THEN 542 slf_i(jp_hti) = sn_hti ; slf_i(jp_hts) = sn_hts 543 slf_i(jp_ati) = sn_ati ; slf_i(jp_tsu) = sn_tsu 544 slf_i(jp_tmi) = sn_tmi ; slf_i(jp_smi) = sn_smi 545 546 IF(lwp) THEN ! control print 548 547 WRITE(numout,*) 549 548 WRITE(numout,*) 'lim_istate_init : ice parameters inititialisation ' … … 571 570 CALL ctl_stop( 'Ice_ini in limistate: unable to allocate si structure' ) ; RETURN 572 571 ENDIF 573 572 ! 574 573 DO ifpr = 1, jpfldi 575 574 ALLOCATE( si(ifpr)%fnow(jpi,jpj,1) ) 576 575 ALLOCATE( si(ifpr)%fdta(jpi,jpj,1,2) ) 577 576 END DO 578 577 ! 579 578 ! fill si with slf_i and control print 580 579 CALL fld_fill( si, slf_i, cn_dir, 'lim_istate', 'lim istate ini', 'numnam_ice' ) 581 580 ! 582 581 CALL fld_read( nit000, 1, si ) ! input fields provided at the current time-step 583 582 ! 584 583 ENDIF 585 584 ! 586 585 END SUBROUTINE lim_istate_init 587 586
Note: See TracChangeset
for help on using the changeset viewer.