Changeset 15523
- Timestamp:
- 2021-11-19T09:14:41+01:00 (6 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/SI3-03_VP_rheology/src/ICE/icedyn_rhg_vp.F90
r15516 r15523 8 8 !! 4.0 ! 2020-09 (M. Vancoppenolle) Adaptation to SI3 9 9 !! 10 !! CLEAN-UP 2 — remove iomputs 10 11 !!---------------------------------------------------------------------- 11 12 #if defined key_si3 … … 174 175 REAL(wp), DIMENSION(jpi,jpj) :: zu_c, zv_c ! "current" ice velocity (m/s), average of previous two OL iterates 175 176 REAL(wp), DIMENSION(jpi,jpj) :: zu_b, zv_b ! velocity at previous sub-iterate 176 REAL(wp), DIMENSION(jpi,jpj) :: zu_b_outer, zv_b_outer ! velocity at previous outer-iterate177 177 REAL(wp), DIMENSION(jpi,jpj) :: zuerr, zverr ! absolute U/Vvelocity difference between current and previous sub-iterates 178 178 ! … … 217 217 218 218 !!---------------------------------------------------------------------------------------------------------------------- 219 ! DEBUG put all forcing terms to zero220 ! air-ice drag221 !utau_ice(:,:) = 0._wp222 !vtau_ice(:,:) = 0._wp223 224 ! coriolis225 !ff_t(:,:) = 0._wp226 227 ! ice-ocean drag228 !rn_cio = 0._wp229 230 219 ! sea surface height 231 220 ! embedded sea ice: compute representative ice top surface 232 221 ! non-embedded sea ice: use ocean surface for slope calculation 233 zsshdyn(:,:) = ice_var_sshdyn( ssh_m, snwice_mass, snwice_mass_b) ! DEBUG 234 !zsshdyn(:,:) = 0._wp 235 236 ! END DEBUG 222 zsshdyn(:,:) = ice_var_sshdyn( ssh_m, snwice_mass, snwice_mass_b) 223 237 224 !!---------------------------------------------------------------------------------------------------------------------- 238 225 … … 315 302 END DO 316 303 END DO 304 305 !CALL lbc_lnk( 'icedyn_rhg_vp', zfmask, 'F', 1._wp ) ! OK to remove 317 306 318 307 ! Lateral boundary conditions on velocity (modify zfmask) … … 397 386 ELSE ; zmsk01y(ji,jj) = 1._wp ; ENDIF 398 387 399 ! MV TEST DEBUG400 ! IF ( ( zmt(ji,jj) <= zmmin .OR. zmt(ji+1,jj) <= zmmin ) .AND. &401 ! & ( at_i(ji,jj) <= zamin .OR. at_i(ji+1,jj) <= zamin ) ) THEN ; zmsk01x(ji,jj) = 0._wp402 ! ELSE ; zmsk01x(ji,jj) = 1._wp ; ENDIF403 404 ! IF ( ( zmt(ji,jj) <= zmmin .OR. zmt(ji,jj+1) <= zmmin ) .AND. &405 ! & ( at_i(ji,jj) <= zamin .OR. at_i(ji,jj+1) <= zamin ) ) THEN ; zmsk01y(ji,jj) = 0._wp406 ! ELSE ; zmsk01y(ji,jj) = 1._wp ; ENDIF407 ! END MV TEST DEBUG408 409 388 END DO 410 389 END DO 411 412 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zspgU , 'U', -1., zspgV , 'V', -1. )413 CALL lbc_lnk_multi( 'icedyn_rhg_vp', ztaux_ai, 'U', -1., ztauy_ai, 'V', -1. )414 415 CALL iom_put( 'zmsk00x' , zmsk00x ) ! MV DEBUG416 CALL iom_put( 'zmsk00y' , zmsk00y ) ! MV DEBUG417 CALL iom_put( 'zmsk01x' , zmsk01x ) ! MV DEBUG418 CALL iom_put( 'zmsk01y' , zmsk01y ) ! MV DEBUG419 CALL iom_put( 'ztaux_ai' , ztaux_ai ) ! MV DEBUG420 CALL iom_put( 'ztauy_ai' , ztauy_ai ) ! MV DEBUG421 CALL iom_put( 'zspgU' , zspgU ) ! MV DEBUG422 CALL iom_put( 'zspgV' , zspgV ) ! MV DEBUG423 390 424 391 !------------------------------------------------------------------------------! … … 435 402 DO i_out = 1, nn_nout_vp 436 403 437 IF( lwp ) WRITE(numout,*) ' outer loop i_out : ', i_out438 439 zu_b_outer(:,:) = u_ice(:,:) ! velocity at previous outer-iterate440 zv_b_outer(:,:) = v_ice(:,:)441 404 442 405 ! Velocities used in the non linear terms are the average of the past two iterates 443 ! u_it = 0.5 * ( u_{it-1} + u_{it-2} )406 ! u_it = 0.5 * ( u_{it-1} + u_{it-2} ) 444 407 ! Also used in Hibler and Ackley (1983); Zhang and Hibler (1997); Lemieux and Tremblay (2009) 445 446 408 zu_c(:,:) = 0.5_wp * ( u_ice(:,:) + zu_c(:,:) ) 447 409 zv_c(:,:) = 0.5_wp * ( v_ice(:,:) + zv_c(:,:) ) … … 472 434 END DO 473 435 474 CALL lbc_lnk( 'icedyn_rhg_vp', zds, 'F', 1. ) ! MV TEST could be un-necessary according to Gurvan 475 476 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zds' , zds ) ! MV DEBUG 477 478 IF( lwp ) WRITE(numout,*) ' outer loop 1a i_out : ', i_out 479 480 !DO jj = 2, jpj - 1 ! loop to jpi,jpj to avoid making a communication for zs1,zs2,zs12 481 ! DO ji = 2, jpi - 1 ! 482 483 ! MV DEBUG 436 CALL lbc_lnk( 'icedyn_rhg_vp', zds, 'F', 1. ) ! necessary 437 484 438 DO jj = 2, jpj ! loop to jpi,jpj to avoid making a communication for zs1,zs2,zs12 485 439 DO ji = 2, jpi ! 486 ! END MV DEBUG487 440 488 441 ! shear**2 at T points (doc eq. A16) … … 518 471 END DO 519 472 END DO 520 521 ! zzt(:,:) = 0. ! test 522 ! zet(:,:) = 0. ! test 523 524 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zp_deltastar_t , 'T', 1. , zzt , 'T', 1., zet, 'T', 1. , zdeltat, 'T', 1.) 525 526 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zzt' , zzt ) ! MV DEBUG 527 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zet' , zet ) ! MV DEBUG 528 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zp_deltastar_t', zp_deltastar_t ) ! MV DEBUG 529 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zdeltat' , zdeltat ) ! MV DEBUG 530 531 IF( lwp ) WRITE(numout,*) ' outer loop 1b i_out : ', i_out 473 474 ! CALL lbc_lnk_multi( 'icedyn_rhg_vp', zp_deltastar_t , 'T', 1. , zzt , 'T', 1., zet, 'T', 1. , zdeltat, 'T', 1.) ! OK to 475 ! remove zet and zzt 476 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zp_deltastar_t , 'T', 1., zdeltat, 'T', 1.) 532 477 533 478 DO jj = 1, jpj - 1 … … 543 488 END DO 544 489 545 CALL lbc_lnk( 'icedyn_rhg_vp', zef, 'F', 1. ) 546 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zef' , zef ) ! MV DEBUG 547 IF( lwp ) WRITE(numout,*) ' outer loop 1c i_out : ', i_out 490 ! CALL lbc_lnk( 'icedyn_rhg_vp', zef, 'F', 1. ) ! Ok to remove 548 491 549 492 !--------------------------------------------------- … … 581 524 END DO 582 525 583 IF( lwp ) WRITE(numout,*) ' outer loop 1d i_out : ', i_out 584 585 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zCwU , 'U', -1., zCwV, 'V', -1. ) 586 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zCorU, 'U', -1., zCorV, 'V', -1. ) 587 588 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zCwU' , zCwU ) ! MV DEBUG 589 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zCwV' , zCwV ) ! MV DEBUG 590 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zCorU' , zCorU ) ! MV DEBUG 591 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zCorV' , zCorV ) ! MV DEBUG 592 593 IF( lwp ) WRITE(numout,*) ' outer loop 1f i_out : ', i_out 594 526 ! CALL lbc_lnk_multi( 'icedyn_rhg_vp', zCwU , 'U', -1., zCwV, 'V', -1. )! OK to remove 527 ! CALL lbc_lnk_multi( 'icedyn_rhg_vp', zCorU, 'U', -1., zCorV, 'V', -1. )! OK to remove 528 595 529 ! a priori, Coriolis and drag terms only affect diagonal or independent term of the linear system, 596 530 ! so there is no need for lbclnk on drag and coriolis … … 621 555 END DO 622 556 623 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zs1_rhsu' , zs1_rhsu ) ! MV DEBUG624 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zs2_rhsu' , zs2_rhsu ) ! MV DEBUG625 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zs1_rhsv' , zs1_rhsv ) ! MV DEBUG626 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zs2_rhsv' , zs2_rhsv ) ! MV DEBUG627 628 557 ! a priori, no lbclnk, because rhsu is only used in the inner domain 629 558 … … 631 560 ! MV NOTE: I applied zfmask on zds, by mimetism on EVP, but without deep understanding of what I was doing 632 561 ! My guess is that this is the way to enforce boundary conditions on strain rate tensor 633 634 IF( lwp ) WRITE(numout,*) ' outer loop 2 i_out : ', i_out635 562 636 563 DO jj = 1, jpj - 1 … … 646 573 END DO 647 574 648 CALL lbc_lnk( 'icedyn_rhg_vp', zs12_rhsu, 'F', 1. ) 649 CALL lbc_lnk( 'icedyn_rhg_vp', zs12_rhsv, 'F', 1. ) 650 651 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zs12_rhsu' , zs12_rhsu ) ! MV DEBUG 652 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zs12_rhsv' , zs12_rhsv ) ! MV DEBUG 575 ! CALL lbc_lnk( 'icedyn_rhg_vp', zs12_rhsu, 'F', 1. ) ! Ok to remove 576 ! CALL lbc_lnk( 'icedyn_rhg_vp', zs12_rhsv, 'F', 1. ) ! Ok to remove 653 577 654 578 ! a priori, no lbclnk, because rhsu are only used in the inner domain … … 674 598 END DO 675 599 END DO 676 677 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zf_rhsu' , zf_rhsu ) ! MV DEBUG678 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zf_rhsv' , zf_rhsv ) ! MV DEBUG679 600 680 601 !--------------------------- … … 692 613 END DO 693 614 694 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zrhsu, 'U', -1., zrhsv, 'V', -1.) 695 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zmU_t, 'U', -1., zmV_t, 'V', -1.) 696 CALL lbc_lnk_multi( 'icedyn_rhg_vp', ztaux_oi_rhsu, 'U', -1., ztauy_oi_rhsv, 'V', -1.) 697 698 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zmU_t' , zmU_t ) ! MV DEBUG 699 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zmV_t' , zmV_t ) ! MV DEBUG 700 IF ( i_out == nn_nout_vp ) CALL iom_put( 'ztaux_oi_rhsu' , ztaux_oi_rhsu ) ! MV DEBUG 701 IF ( i_out == nn_nout_vp ) CALL iom_put( 'ztauy_oi_rhsv' , ztauy_oi_rhsv ) ! MV DEBUG 702 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zrhsu' , zrhsu ) ! MV DEBUG 703 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zrhsv' , zrhsv ) ! MV DEBUG 704 705 ! inner domain calculations -> no lbclnk 706 707 IF( lwp ) WRITE(numout,*) ' outer loop 4 i_out : ', i_out 708 615 ! CALL lbc_lnk_multi( 'icedyn_rhg_vp', zrhsu, 'U', -1., zrhsv, 'V', -1.)! OK to remove 616 ! CALL lbc_lnk_multi( 'icedyn_rhg_vp', zmU_t, 'U', -1., zmV_t, 'V', -1.)! OK to remove 617 ! CALL lbc_lnk_multi( 'icedyn_rhg_vp', ztaux_oi_rhsu, 'U', -1., ztauy_oi_rhsv, 'V', -1.)! OK to remove 618 709 619 !---------------------------------------------------------------------------------------! 710 620 ! … … 797 707 END DO 798 708 799 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zAU , 'U', 1., zAV , 'V', 1. ) ! --> here normal that we use '1' and not '-1' ? 800 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zBU , 'U', 1., zBV , 'V', 1. ) 801 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zCU , 'U', 1., zCV , 'V', 1. ) 802 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zDU , 'U', 1., zDV , 'V', 1. ) 803 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zEU , 'U', 1., zEV , 'V', 1. ) 804 805 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zAU' , zAU ) ! MV DEBUG 806 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zBU' , zBU ) ! MV DEBUG 807 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zCU' , zCU ) ! MV DEBUG 808 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zDU' , zDU ) ! MV DEBUG 809 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zEU' , zEU ) ! MV DEBUG 810 811 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zAV' , zAV ) ! MV DEBUG 812 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zBV' , zBV ) ! MV DEBUG 813 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zCV' , zCV ) ! MV DEBUG 814 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zDV' , zDV ) ! MV DEBUG 815 IF ( i_out == nn_nout_vp ) CALL iom_put( 'zEV' , zEV ) ! MV DEBUG 709 ! OK to remove 710 !CALL lbc_lnk_multi( 'icedyn_rhg_vp', zAU , 'U', 1., zAV , 'V', 1. ) ! --> here normal that we use '1' and not '-1' ? 711 !CALL lbc_lnk_multi( 'icedyn_rhg_vp', zBU , 'U', 1., zBV , 'V', 1. ) 712 !CALL lbc_lnk_multi( 'icedyn_rhg_vp', zCU , 'U', 1., zCV , 'V', 1. ) 713 !CALL lbc_lnk_multi( 'icedyn_rhg_vp', zDU , 'U', 1., zDV , 'V', 1. ) 714 !CALL lbc_lnk_multi( 'icedyn_rhg_vp', zEU , 'U', 1., zEV , 'V', 1. ) 816 715 817 716 !------------------------------------------------------------------------------! … … 827 726 DO i_inn = 1, nn_ninn_vp ! inner loop iterations 828 727 829 IF( lwp ) WRITE(numout,*) ' inner loop 1 i_inn : ', i_inn830 831 728 !--- mitgcm computes initial value of residual here... 832 729 … … 857 754 ELSE ; jj_min = 3 858 755 ENDIF 859 860 IF ( lwp ) WRITE(numout,*) ' Into the U-zebra loop at step jn = ', jn, ', with jj_min = ', jj_min861 756 862 757 DO jj = jj_min, jpj - 1, nn_zebra_vp … … 883 778 END DO 884 779 885 CALL lbc_lnk( 'icedyn_rhg_vp', zFU, 'U', -1. ) ! Nov 5 bug test MVzFU is a vector780 CALL lbc_lnk( 'icedyn_rhg_vp', zFU, 'U', -1. ) ! -1, zFU is a vector 886 781 887 782 !--------------- … … 904 799 905 800 END DO 906 907 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zFU_prime, 'U', -1., zBU_prime, 'U', 1. ) ! Nov 5 bug test zFU and zBU 908 ! are vectors 909 801 ! CALL lbc_lnk_multi( 'icedyn_rhg_vp', zFU_prime, 'U', -1., zBU_prime, 'U', 1. ) --> can be removed 802 910 803 !----------------------------- 911 804 ! Backward sweep & relaxation … … 963 856 ENDIF 964 857 965 IF ( lwp ) WRITE(numout,*) ' Into the V-zebra loop at step jn = ', jn, ', with ji_min = ', ji_min966 967 858 DO ji = ji_min, jpi - 1, nn_zebra_vp 968 859 … … 1011 902 END DO 1012 903 1013 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zFV_prime, 'V', -1., zBV_prime, 'V', 1. ) ! MV Nov 5 bug test 904 ! new test 905 ! CALL lbc_lnk_multi( 'icedyn_rhg_vp', zFV_prime, 'V', -1., zBV_prime, 'V', 1. ) ! MV Nov 5 bug test 1014 906 1015 907 !----------------------------- … … 1128 1020 1129 1021 CALL rhg_cvg_vp( kt, i_out, i_inn, i_inn_tot, nn_nout_vp, nn_ninn_vp, nn_nvp, & 1130 & u_ice, v_ice, zu_b, zv_b, zu_c, zv_c _outer ,&1022 & u_ice, v_ice, zu_b, zv_b, zu_c, zv_c, & 1131 1023 & zmt, za_iU, za_iV, zuerr_max, zverr_max, zglob_area, & 1132 1024 & zrhsu, zAU, zBU, zCU, zDU, zEU, zFU, & … … 1136 1028 ENDIF 1137 1029 1138 IF ( lwp ) WRITE(numout,*) ' Done convergence tests '1139 1140 1030 END DO ! i_inn, end of inner loop 1141 1031 1142 1032 END DO ! End of outer loop (i_out) ============================================================================================= 1143 1033 1144 IF ( lwp ) WRITE(numout,*) ' We are out of outer loop '1145 1146 CALL iom_put( 'zFU' , zFU ) ! MV DEBUG1147 CALL iom_put( 'zBU_prime' , zBU_prime ) ! MV DEBUG1148 CALL iom_put( 'zCU_prime' , zCU_prime ) ! MV DEBUG1149 CALL iom_put( 'zFU_prime' , zFU_prime ) ! MV DEBUG1150 1151 CALL iom_put( 'zFV' , zFV ) ! MV DEBUG1152 CALL iom_put( 'zBV_prime' , zBV_prime ) ! MV DEBUG1153 CALL iom_put( 'zCV_prime' , zCV_prime ) ! MV DEBUG1154 CALL iom_put( 'zFV_prime' , zFV_prime ) ! MV DEBUG1155 1156 1034 CALL lbc_lnk_multi( 'icedyn_rhg_vp', u_ice, 'U', -1., v_ice, 'V', -1. ) 1157 1158 1035 1159 1036 IF( ln_rhg_chkcvg ) THEN … … 1167 1044 1168 1045 ENDIF ! ln_rhg_chkcvg 1169 1170 ! MV DEBUG test - replace ice velocity by ocean current to give the model the means to go ahead1171 ! info: probably wrong because when doing du/dt = div ( sigma ) we have spurious waves instead of u = v = 01172 1173 ! DO jj = 2, jpj - 11174 ! DO ji = 2, jpi - 11175 1176 ! u_ice(ji,jj) = zmsk00x(ji,jj) &1177 ! & * ( zmsk01x(ji,jj) * u_oce(ji,jj) * 0.01_wp &1178 ! + ( 1._wp - zmsk01x(ji,jj) ) * u_oce(ji,jj) * 0.01_wp )1179 1180 ! v_ice(ji,jj) = zmsk00y(ji,jj) &1181 ! & * ( zmsk01y(ji,jj) * v_oce(ji,jj) * 0.01_wp &1182 ! + ( 1._wp - zmsk01y(ji,jj) ) * v_oce(ji,jj) * 0.01_wp )1183 1184 ! END DO1185 ! END DO1186 1187 ! CALL lbc_lnk_multi( 'icedyn_rhg_vp', u_ice, 'U', -1., v_ice, 'V', -1. )1188 1189 ! IF ( lwp ) WRITE(numout,*) ' Velocity replaced '1190 1191 ! END DEBUG1192 1046 1193 1047 !------------------------------------------------------------------------------! … … 1242 1096 zdelta = SQRT( zdiv2 + ( zdt2 + zds2 ) * z1_ecc2 ) 1243 1097 rswitch = 1._wp - MAX( 0._wp, SIGN( 1._wp, -zdelta ) ) ! 0 if delta=0 1244 1245 !pdelta_i(ji,jj) = zdelta + rn_creepl * rswitch 1246 pdelta_i(ji,jj) = zdelta + rn_creepl 1098 1099 pdelta_i(ji,jj) = zdelta + rn_creepl ! * rswitch 1247 1100 1248 1101 END DO 1249 1102 END DO 1250 1251 IF ( lwp ) WRITE(numout,*) ' Deformation recalculated '1252 1103 1253 1104 CALL lbc_lnk_multi( 'icedyn_rhg_vp', pshear_i, 'T', 1., pdivu_i, 'T', 1., pdelta_i, 'T', 1. ) … … 1302 1153 1303 1154 ENDIF 1304 1305 IF ( lwp ) WRITE(numout,*) ' zs12f recalculated '1306 1155 1307 1156 ! … … 1358 1207 IF( iom_use('icestr') ) CALL iom_put( 'icestr' , strength * zmsk00 ) ! strength 1359 1208 1360 IF ( lwp ) WRITE(numout,*) 'Some terms recalculated '1361 1362 1209 ! --- Stress tensor invariants (SIMIP diags) --- ! 1363 1210 IF( iom_use('normstr') .OR. iom_use('sheastr') ) THEN … … 1387 1234 1388 1235 ENDIF 1389 1390 IF ( lwp ) WRITE(numout,*) 'SIMIP work done'1391 1236 1392 1237 ! --- Normalized stress tensor principal components --- ! … … 1421 1266 END DO 1422 1267 END DO 1423 IF ( lwp ) WRITE(numout,*) 'Some shitty stress work done'1424 1268 ! 1425 1269 CALL lbc_lnk_multi( 'icedyn_rhg_vp', zsig1_p, 'T', 1., zsig2_p, 'T', 1.) 1426 !1427 IF ( lwp ) WRITE(numout,*) ' Beauaaaarflblbllll '1428 1270 ! 1429 1271 CALL iom_put( 'sig1_pnorm' , zsig1_p ) … … 1431 1273 1432 1274 DEALLOCATE( zsig1_p , zsig2_p , zsig_I , zsig_II ) 1433 1434 IF ( lwp ) WRITE(numout,*) ' So what ??? '1435 1275 1436 1276 ENDIF … … 1883 1723 ENDIF 1884 1724 1885 ! spatially-dependent things (to be coded)1886 ! velocity difference ?1887 ! residual ?1888 ! !1889 ! IF ( kiter == kitermax ) THEN1890 ! WRITE(numout,*) ' Should plot the spatially dependent residual '1891 ! istatus = NF90_PUT_VAR( ncvgid, nvarid_ures_xy, (/zu_res/) ) ! U-residual, spatially dependent1892 ! istatus = NF90_PUT_VAR( ncvgid, nvarid_vres_xy, (/zv_res/) ) ! V-residual, spatially dependent1893 ! ENDIF1894 1895 ! close file1896 ! IF( kt == nitend ) istatus = NF90_CLOSE( ncvgid ) ! BUG Ed blockley1897 1725 IF( kt == nitend - nn_fsbc + 1 .AND. kitinntot == kitinntotmax ) istatus = NF90_CLOSE( ncvgid ) 1898 1726 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.