Changeset 12397 for NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/NST/agrif_oce_update.F90
- Timestamp:
- 2020-02-18T11:58:37+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/NST/agrif_oce_update.F90
r12377 r12397 256 256 ! 2) BEFORE fields: 257 257 !------------------ 258 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0) )) THEN258 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler) )) THEN 259 259 ! 260 260 ! Vertical scale factor interpolations … … 351 351 ENDDO 352 352 353 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0))) THEN353 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN 354 354 ! Add asselin part 355 355 DO jn = 1,jpts … … 381 381 END DO 382 382 ! 383 IF (( neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN383 IF ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN 384 384 ts(i1:i2,j1:j2,1:jpkm1,1:jpts,Kbb_a) = ts(i1:i2,j1:j2,1:jpkm1,1:jpts,Kmm_a) 385 385 ENDIF … … 422 422 ENDDO 423 423 !< jc tmp 424 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0))) THEN424 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN 425 425 ! Add asselin part 426 426 DO jn = 1,jpts … … 452 452 END DO 453 453 ! 454 IF (( neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN454 IF ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN 455 455 ts(i1:i2,j1:j2,k1:k2,1:jpts,Kbb_a) = ts(i1:i2,j1:j2,k1:k2,1:jpts,Kmm_a) 456 456 ENDIF … … 551 551 DO jj=j1,j2 552 552 DO ji=i1,i2 553 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0))) THEN ! Add asselin part553 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN ! Add asselin part 554 554 zub = uu(ji,jj,jk,Kbb_a) * e3u(ji,jj,jk,Kbb_a) ! fse3t_b prior update should be used 555 555 zuno = uu(ji,jj,jk,Kmm_a) * e3u(ji,jj,jk,Krhs_a) … … 564 564 END DO 565 565 ! 566 IF (( neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN566 IF ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN 567 567 uu(i1:i2,j1:j2,1:jpkm1,Kbb_a) = uu(i1:i2,j1:j2,1:jpkm1,Kmm_a) 568 568 ENDIF … … 597 597 tabres(ji,jj,jk,1) = tabres(ji,jj,jk,1) * r1_e2u(ji,jj) 598 598 ! 599 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0))) THEN ! Add asselin part599 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN ! Add asselin part 600 600 zub = uu(ji,jj,jk,Kbb_a) * e3u(ji,jj,jk,Kbb_a) ! fse3t_b prior update should be used 601 601 zuno = uu(ji,jj,jk,Kmm_a) * e3u(ji,jj,jk,Krhs_a) … … 610 610 END DO 611 611 ! 612 IF (( neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN612 IF ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN 613 613 uu(i1:i2,j1:j2,k1:k2,Kbb_a) = uu(i1:i2,j1:j2,k1:k2,Kmm_a) 614 614 ENDIF … … 751 751 DO jj=j1,j2 752 752 DO ji=i1,i2 753 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0))) THEN ! Add asselin part753 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN ! Add asselin part 754 754 zvb = vv(ji,jj,jk,Kbb_a) * e3v(ji,jj,jk,Kbb_a) ! fse3t_b prior update should be used 755 755 zvno = vv(ji,jj,jk,Kmm_a) * e3v(ji,jj,jk,Krhs_a) … … 764 764 END DO 765 765 ! 766 IF (( neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN766 IF ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN 767 767 vv(i1:i2,j1:j2,1:jpkm1,Kbb_a) = vv(i1:i2,j1:j2,1:jpkm1,Kmm_a) 768 768 ENDIF … … 801 801 tabres(ji,jj,jk,1) = tabres(ji,jj,jk,1) * r1_e1v(ji,jj) 802 802 ! 803 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0))) THEN ! Add asselin part803 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN ! Add asselin part 804 804 zvb = vv(ji,jj,jk,Kbb_a) * e3v(ji,jj,jk,Kbb_a) ! fse3t_b prior update should be used 805 805 zvno = vv(ji,jj,jk,Kmm_a) * e3v(ji,jj,jk,Krhs_a) … … 814 814 END DO 815 815 ! 816 IF (( neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN816 IF ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN 817 817 vv(i1:i2,j1:j2,k1:k2,Kbb_a) = vv(i1:i2,j1:j2,k1:k2,Kmm_a) 818 818 ENDIF … … 907 907 ! Update barotropic velocities: 908 908 IF ( .NOT.ln_dynspg_ts .OR. (ln_dynspg_ts.AND.(.NOT.ln_bt_fw)) ) THEN 909 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0))) THEN ! Add asselin part909 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN ! Add asselin part 910 910 zcorr = (tabres(ji,jj) - uu_b(ji,jj,Kmm_a) * hu(ji,jj,Krhs_a)) * r1_hu(ji,jj,Kbb_a) 911 911 uu_b(ji,jj,Kbb_a) = uu_b(ji,jj,Kbb_a) + atfp * zcorr * umask(ji,jj,1) … … 928 928 END DO 929 929 ! 930 IF (( neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN930 IF ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN 931 931 uu_b(i1:i2,j1:j2,Kbb_a) = uu_b(i1:i2,j1:j2,Kmm_a) 932 932 ENDIF … … 973 973 ! Update barotropic velocities: 974 974 IF ( .NOT.ln_dynspg_ts .OR. (ln_dynspg_ts.AND.(.NOT.ln_bt_fw)) ) THEN 975 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0))) THEN ! Add asselin part975 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN ! Add asselin part 976 976 zcorr = (tabres(ji,jj) - vv_b(ji,jj,Kmm_a) * hv(ji,jj,Krhs_a)) * r1_hv(ji,jj,Kbb_a) 977 977 vv_b(ji,jj,Kbb_a) = vv_b(ji,jj,Kbb_a) + atfp * zcorr * vmask(ji,jj,1) … … 994 994 END DO 995 995 ! 996 IF (( neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN996 IF ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN 997 997 vv_b(i1:i2,j1:j2,Kbb_a) = vv_b(i1:i2,j1:j2,Kmm_a) 998 998 ENDIF … … 1021 1021 END DO 1022 1022 ELSE 1023 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0))) THEN1023 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN 1024 1024 DO jj=j1,j2 1025 1025 DO ji=i1,i2 … … 1036 1036 END DO 1037 1037 ! 1038 IF (( neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN1038 IF ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN 1039 1039 ssh(i1:i2,j1:j2,Kbb_a) = ssh(i1:i2,j1:j2,Kmm_a) 1040 1040 ENDIF … … 1119 1119 zcor = rdt * r1_e1e2t(i1 ,jj) * e2u(i1,jj) * (ub2_b(i1,jj)-tabres(i1,jj)) 1120 1120 ssh(i1 ,jj,Kmm_a) = ssh(i1 ,jj,Kmm_a) + zcor 1121 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0))) ssh(i1 ,jj,Kbb_a) = ssh(i1 ,jj,Kbb_a) + atfp * zcor1121 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) ssh(i1 ,jj,Kbb_a) = ssh(i1 ,jj,Kbb_a) + atfp * zcor 1122 1122 END DO 1123 1123 ENDIF … … 1126 1126 zcor = - rdt * r1_e1e2t(i2+1,jj) * e2u(i2,jj) * (ub2_b(i2,jj)-tabres(i2,jj)) 1127 1127 ssh(i2+1,jj,Kmm_a) = ssh(i2+1,jj,Kmm_a) + zcor 1128 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0))) ssh(i2+1,jj,Kbb_a) = ssh(i2+1,jj,Kbb_a) + atfp * zcor1128 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) ssh(i2+1,jj,Kbb_a) = ssh(i2+1,jj,Kbb_a) + atfp * zcor 1129 1129 END DO 1130 1130 ENDIF … … 1207 1207 zcor = rdt * r1_e1e2t(ji,j1 ) * e1v(ji,j1 ) * (vb2_b(ji,j1)-tabres(ji,j1)) 1208 1208 ssh(ji,j1 ,Kmm_a) = ssh(ji,j1 ,Kmm_a) + zcor 1209 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0))) ssh(ji,j1 ,Kbb_a) = ssh(ji,j1,Kbb_a) + atfp * zcor1209 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) ssh(ji,j1 ,Kbb_a) = ssh(ji,j1,Kbb_a) + atfp * zcor 1210 1210 END DO 1211 1211 ENDIF … … 1214 1214 zcor = - rdt * r1_e1e2t(ji,j2+1) * e1v(ji,j2 ) * (vb2_b(ji,j2)-tabres(ji,j2)) 1215 1215 ssh(ji,j2+1,Kmm_a) = ssh(ji,j2+1,Kmm_a) + zcor 1216 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0))) ssh(ji,j2+1,Kbb_a) = ssh(ji,j2+1,Kbb_a) + atfp * zcor1216 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) ssh(ji,j2+1,Kbb_a) = ssh(ji,j2+1,Kbb_a) + atfp * zcor 1217 1217 END DO 1218 1218 ENDIF … … 1359 1359 ! hdiv(i1:i2,j1:j2,1:jpkm1) = e3t(i1:i2,j1:j2,1:jpkm1,Kbb_a) 1360 1360 1361 IF (.NOT.(lk_agrif_fstep.AND.( neuler==0) )) THEN1361 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler) )) THEN 1362 1362 DO jk = 1, jpkm1 1363 1363 DO jj=j1,j2 … … 1422 1422 END DO 1423 1423 ! 1424 IF (( neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN1424 IF ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN 1425 1425 e3t (i1:i2,j1:j2,1:jpk,Kbb_a) = e3t (i1:i2,j1:j2,1:jpk,Kmm_a) 1426 1426 e3w (i1:i2,j1:j2,1:jpk,Kbb_a) = e3w (i1:i2,j1:j2,1:jpk,Kmm_a)
Note: See TracChangeset
for help on using the changeset viewer.