Changeset 11802 for NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_update.F90
- Timestamp:
- 2019-10-25T17:15:20+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_update.F90
r11791 r11802 49 49 IF (lwp.AND.lk_agrif_debug) Write(*,*) 'Update tracers from grid Number',Agrif_Fixed() 50 50 51 ! jc_altAgrif_UseSpecialValueInUpdate = .FALSE.52 Agrif_UseSpecialValueInUpdate = .TRUE.51 Agrif_UseSpecialValueInUpdate = .FALSE. 52 ! jc_alt Agrif_UseSpecialValueInUpdate = .TRUE. 53 53 Agrif_SpecialValueFineGrid = 0._wp 54 54 ! … … 300 300 DO jj=j1,j2 301 301 DO ji=i1,i2 302 tabres(ji,jj,jk,jn) = (tsn(ji,jj,jk,jn) * e3t_n(ji,jj,jk) ) & 303 & * tmask(ji,jj,jk) + (tmask(ji,jj,jk)-1._wp) * 999._wp 304 !jc_alt tabres(ji,jj,jk,jn) = tsn(ji,jj,jk,jn) * e3t_n(ji,jj,jk) 302 !jc_alt 303 ! tabres(ji,jj,jk,jn) = (tsn(ji,jj,jk,jn) * e3t_n(ji,jj,jk) ) & 304 ! & * tmask(ji,jj,jk) + (tmask(ji,jj,jk)-1._wp) * 999._wp 305 tabres(ji,jj,jk,jn) = tsn(ji,jj,jk,jn) * e3t_n(ji,jj,jk) 305 306 END DO 306 307 END DO … … 310 311 DO jj=j1,j2 311 312 DO ji=i1,i2 312 tabres(ji,jj,jk,n2) = tmask(ji,jj,jk) * e3t_n(ji,jj,jk) & 313 & + (tmask(ji,jj,jk) - 1._wp) * 999._wp 314 ! jc_alt tabres(ji,jj,jk,n2) = tmask(ji,jj,jk) * e3t_n(ji,jj,jk) 313 !jc_alt 314 ! tabres(ji,jj,jk,n2) = tmask(ji,jj,jk) * e3t_n(ji,jj,jk) & 315 ! & + (tmask(ji,jj,jk) - 1._wp) * 999._wp 316 tabres(ji,jj,jk,n2) = tmask(ji,jj,jk) * e3t_n(ji,jj,jk) 315 317 END DO 316 318 END DO … … 323 325 N_in = 0 324 326 DO jk=k1,k2 !k2 = jpk of child grid 325 IF (tabres(ji,jj,jk,n2) < -900._wp ) EXIT 326 ! jc_alt IF (tabres(ji,jj,jk,n2) == 0._wp ) EXIT 327 ! jc_alt 328 ! IF (tabres(ji,jj,jk,n2) < -900._wp ) EXIT 329 IF (tabres(ji,jj,jk,n2) == 0._wp ) EXIT 327 330 N_in = N_in + 1 328 331 tabin(jk,:) = tabres(ji,jj,jk,n1:n2-1)/tabres(ji,jj,jk,n2) … … 476 479 IF( before ) THEN 477 480 zrhoy = Agrif_Rhoy() 478 AGRIF_SpecialValue = -999._wp 481 !jc_alt 482 ! AGRIF_SpecialValue = -999._wp 479 483 DO jk=k1,k2 480 484 DO jj=j1,j2 481 485 DO ji=i1,i2 482 tabres(ji,jj,jk,1) = zrhoy * e2u(ji,jj) * e3u_n(ji,jj,jk) * umask(ji,jj,jk) * un(ji,jj,jk) & 483 & + (umask(ji,jj,jk)-1._wp)*999._wp 484 ! jc_alt tabres(ji,jj,jk,1) = zrhoy * e2u(ji,jj) * e3u_n(ji,jj,jk) * umask(ji,jj,jk) * un(ji,jj,jk) 485 tabres(ji,jj,jk,2) = zrhoy * umask(ji,jj,jk) * e2u(ji,jj) * e3u_n(ji,jj,jk) & 486 & + (umask(ji,jj,jk)-1._wp)*999._wp 487 ! jc_alt tabres(ji,jj,jk,2) = zrhoy * umask(ji,jj,jk) * e2u(ji,jj) * e3u_n(ji,jj,jk) 486 !jc_alt 487 ! tabres(ji,jj,jk,1) = zrhoy * e2u(ji,jj) * e3u_n(ji,jj,jk) * umask(ji,jj,jk) * un(ji,jj,jk) & 488 ! & + (umask(ji,jj,jk)-1._wp)*999._wp 489 tabres(ji,jj,jk,1) = zrhoy * e2u(ji,jj) * e3u_n(ji,jj,jk) * umask(ji,jj,jk) * un(ji,jj,jk) 490 !jc_alt 491 ! tabres(ji,jj,jk,2) = zrhoy * umask(ji,jj,jk) * e2u(ji,jj) * e3u_n(ji,jj,jk) & 492 ! & + (umask(ji,jj,jk)-1._wp)*999._wp 493 tabres(ji,jj,jk,2) = zrhoy * umask(ji,jj,jk) * e2u(ji,jj) * e3u_n(ji,jj,jk) 488 494 END DO 489 495 END DO … … 498 504 tabin(:) = 0._wp 499 505 DO jk=k1,k2 !k2=jpk of child grid 500 IF( tabres(ji,jj,jk,2) < -900._wp) EXIT 501 ! jc_alt IF( tabres(ji,jj,jk,2) == 0.) EXIT 506 !jc_alt 507 ! IF( tabres(ji,jj,jk,2) < -900._wp) EXIT 508 IF( tabres(ji,jj,jk,2) == 0.) EXIT 502 509 N_in = N_in + 1 503 510 tabin(jk) = tabres(ji,jj,jk,1)/tabres(ji,jj,jk,2) … … 512 519 IF (N_in * N_out > 0) THEN 513 520 h_diff = sum(h_out(1:N_out))-sum(h_in(1:N_in)) 514 excess 521 excess = 0._wp 515 522 IF (h_diff < -1.e-4) THEN 516 523 !Even if bathy at T points match it's possible for the U points to be deeper in the child grid. … … 674 681 IF( before ) THEN 675 682 zrhox = Agrif_Rhox() 676 AGRIF_SpecialValue = -999._wp 683 !jc_alt 684 ! AGRIF_SpecialValue = -999._wp 677 685 DO jk=k1,k2 678 686 DO jj=j1,j2 679 687 DO ji=i1,i2 680 tabres(ji,jj,jk,1) = zrhox * e1v(ji,jj) * e3v_n(ji,jj,jk) * vmask(ji,jj,jk) * vn(ji,jj,jk) & 681 & + (vmask(ji,jj,jk)-1._wp) * 999._wp 682 ! jc_alt tabres(ji,jj,jk,1) = zrhox * e1v(ji,jj) * e3v_n(ji,jj,jk) * vmask(ji,jj,jk) * vn(ji,jj,jk) 683 tabres(ji,jj,jk,2) = zrhox * e1v(ji,jj) * e3v_n(ji,jj,jk) * vmask(ji,jj,jk) & 684 & + (vmask(ji,jj,jk)-1._wp) * 999._wp 685 ! jc_alt tabres(ji,jj,jk,2) = zrhox * e1v(ji,jj) * e3v_n(ji,jj,jk) * vmask(ji,jj,jk) 688 !jc_alt 689 ! tabres(ji,jj,jk,1) = zrhox * e1v(ji,jj) * e3v_n(ji,jj,jk) * vmask(ji,jj,jk) * vn(ji,jj,jk) & 690 ! & + (vmask(ji,jj,jk)-1._wp) * 999._wp 691 tabres(ji,jj,jk,1) = zrhox * e1v(ji,jj) * e3v_n(ji,jj,jk) * vmask(ji,jj,jk) * vn(ji,jj,jk) 692 !jc_alt 693 ! tabres(ji,jj,jk,2) = zrhox * e1v(ji,jj) * e3v_n(ji,jj,jk) * vmask(ji,jj,jk) & 694 ! & + (vmask(ji,jj,jk)-1._wp) * 999._wp 695 tabres(ji,jj,jk,2) = zrhox * e1v(ji,jj) * e3v_n(ji,jj,jk) * vmask(ji,jj,jk) 686 696 END DO 687 697 END DO … … 694 704 N_in = 0 695 705 DO jk=k1,k2 696 IF (tabres(ji,jj,jk,2) < -900._wp) EXIT 697 ! jc_alt IF (tabres(ji,jj,jk,2) == 0) EXIT 706 !jc_alt 707 ! IF (tabres(ji,jj,jk,2) < -900._wp) EXIT 708 IF (tabres(ji,jj,jk,2) == 0) EXIT 698 709 N_in = N_in + 1 699 710 tabin(jk) = tabres(ji,jj,jk,1)/tabres(ji,jj,jk,2)
Note: See TracChangeset
for help on using the changeset viewer.