Changeset 7973
- Timestamp:
- 2017-04-26T13:57:57+02:00 (7 years ago)
- Location:
- branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/NST_SRC/agrif_opa_interp.F90
r7971 r7973 487 487 INTEGER :: ji, jj 488 488 LOGICAL :: ll_int_cons 489 REAL(wp) :: zrhot, zt490 489 !!---------------------------------------------------------------------- 491 490 … … 495 494 ! the forward case only 496 495 497 zrhot = Agrif_rhot() 498 499 ! "Central" time index for interpolation: 500 IF (ln_bt_fw) THEN 501 zt = REAL(Agrif_NbStepint()+0.5_wp,wp) / zrhot 502 ELSE 503 zt = REAL(Agrif_NbStepint(),wp) / zrhot 504 ENDIF 496 ! Enforce volume conservation if no time refinement: 497 IF ( Agrif_rhot()==1 ) ll_int_cons=.TRUE. 505 498 506 499 ! Interpolate barotropic fluxes … … 524 517 ubdy_n(:) = 0.e0 ; vbdy_n(:) = 0.e0 525 518 ubdy_s(:) = 0.e0 ; vbdy_s(:) = 0.e0 526 CALL Agrif_Bc_variable(unb_id, calledweight=zt,procname=interpunb)527 CALL Agrif_Bc_variable(vnb_id, calledweight=zt,procname=interpvnb)519 CALL Agrif_Bc_variable(unb_id, procname=interpunb) 520 CALL Agrif_Bc_variable(vnb_id, procname=interpvnb) 528 521 ENDIF 529 522 Agrif_UseSpecialValue = .FALSE. … … 1099 1092 !!---------------------------------------------------------------------- 1100 1093 IF( before ) THEN 1101 DO jj=j1,j2 1102 DO ji=i1,i2 1103 ptab(ji,jj) = ub2_b(ji,jj) * e2u(ji,jj) 1104 END DO 1105 END DO 1094 IF ( ln_bt_fw ) THEN 1095 DO jj=j1,j2 1096 DO ji=i1,i2 1097 ptab(ji,jj) = ub2_b(ji,jj) * e2u(ji,jj) 1098 END DO 1099 END DO 1100 ELSE 1101 DO jj=j1,j2 1102 DO ji=i1,i2 1103 ptab(ji,jj) = un_adv(ji,jj) * e2u(ji,jj) 1104 END DO 1105 END DO 1106 ENDIF 1106 1107 ELSE 1107 1108 western_side = (nb == 1).AND.(ndir == 1) … … 1140 1141 ! 1141 1142 IF( before ) THEN 1142 DO jj=j1,j2 1143 DO ji=i1,i2 1144 ptab(ji,jj) = vb2_b(ji,jj) * e1v(ji,jj) 1145 END DO 1146 END DO 1143 IF ( ln_bt_fw ) THEN 1144 DO jj=j1,j2 1145 DO ji=i1,i2 1146 ptab(ji,jj) = vb2_b(ji,jj) * e1v(ji,jj) 1147 END DO 1148 END DO 1149 ELSE 1150 DO jj=j1,j2 1151 DO ji=i1,i2 1152 ptab(ji,jj) = vn_adv(ji,jj) * e1v(ji,jj) 1153 END DO 1154 END DO 1155 ENDIF 1147 1156 ELSE 1148 1157 western_side = (nb == 1).AND.(ndir == 1) -
branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90
r7494 r7973 46 46 USE iom 47 47 USE ioipsl 48 USE dynspg_oce, ONLY: un_adv, vn_adv ! barotropic velocities48 USE dynspg_oce, ONLY: un_adv, vn_adv ! barotropic fluxes 49 49 50 50 #if defined key_lim2 … … 214 214 ENDIF 215 215 #if defined key_dynspg_ts 216 CALL iom_put( "ubar", un_adv(:,:) )! barotropic i-current216 CALL iom_put( "ubar", un_adv(:,:)*hur(:,:) )! barotropic i-current 217 217 #else 218 218 CALL iom_put( "ubar", un_b(:,:) ) ! barotropic i-current … … 231 231 ENDIF 232 232 #if defined key_dynspg_ts 233 CALL iom_put( "vbar", vn_adv(:,:) )! barotropic j-current233 CALL iom_put( "vbar", vn_adv(:,:)*hvr(:,:) )! barotropic j-current 234 234 #else 235 235 CALL iom_put( "vbar", vn_b(:,:) ) ! barotropic j-current -
branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90
r5628 r7973 177 177 ! so that asselin contribution is removed at the same time 178 178 DO jk = 1, jpkm1 179 un(:,:,jk) = ( un(:,:,jk) - un_adv(:,:) + un_b(:,:) )*umask(:,:,jk)180 vn(:,:,jk) = ( vn(:,:,jk) - vn_adv(:,:) + vn_b(:,:) )*vmask(:,:,jk)179 un(:,:,jk) = ( un(:,:,jk) - un_adv(:,:)*hur(:,:) + un_b(:,:) )*umask(:,:,jk) 180 vn(:,:,jk) = ( vn(:,:,jk) - vn_adv(:,:)*hvr(:,:) + vn_b(:,:) )*vmask(:,:,jk) 181 181 END DO 182 182 ENDIF -
branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_oce.F90
r4486 r7973 38 38 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hu_e , hv_e ! now ocean depth ( = Ho+sshn_e ) 39 39 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hur_e , hvr_e ! inverse of hu_e and hv_e 40 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: un_adv, vn_adv ! Advection vel.at "now" barocl. step40 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: un_adv, vn_adv ! Advection fluxes at "now" barocl. step 41 41 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: ub2_b, vb2_b ! Half step fluxes (ln_bt_fw=T) 42 42 #if defined key_agrif -
branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r6204 r7973 125 125 !! -Update the filtered free surface at step "n+1" : ssha 126 126 !! -Update filtered barotropic velocities at step "n+1" : ua_b, va_b 127 !! -Compute barotropic advective velocities at step "n": un_adv, vn_adv127 !! -Compute barotropic advective fluxes at step "n" : un_adv, vn_adv 128 128 !! These are used to advect tracers and are compliant with discrete 129 129 !! continuity equation taken at the baroclinic time steps. This … … 863 863 ! Set advection velocity correction: 864 864 IF (((kt==nit000).AND.(neuler==0)).OR.(.NOT.ln_bt_fw)) THEN 865 un_adv(:,:) = zu_sum(:,:) *hur(:,:)866 vn_adv(:,:) = zv_sum(:,:) *hvr(:,:)865 un_adv(:,:) = zu_sum(:,:) 866 vn_adv(:,:) = zv_sum(:,:) 867 867 ELSE 868 un_adv(:,:) = z1_2 * ( ub2_b(:,:) + zu_sum(:,:)) * hur(:,:)869 vn_adv(:,:) = z1_2 * ( vb2_b(:,:) + zv_sum(:,:)) * hvr(:,:)868 un_adv(:,:) = z1_2 * ( ub2_b(:,:) + zu_sum(:,:)) 869 vn_adv(:,:) = z1_2 * ( vb2_b(:,:) + zv_sum(:,:)) 870 870 END IF 871 871 … … 893 893 DO jk = 1, jpkm1 894 894 ! Correct velocities: 895 un(:,:,jk) = ( un(:,:,jk) + un_adv(:,:) - un_b(:,:) )*umask(:,:,jk)896 vn(:,:,jk) = ( vn(:,:,jk) + vn_adv(:,:) - vn_b(:,:) )*vmask(:,:,jk)895 un(:,:,jk) = ( un(:,:,jk) + un_adv(:,:)*hur(:,:) - un_b(:,:) )*umask(:,:,jk) 896 vn(:,:,jk) = ( vn(:,:,jk) + vn_adv(:,:)*hvr(:,:) - vn_b(:,:) )*vmask(:,:,jk) 897 897 ! 898 898 END DO
Note: See TracChangeset
for help on using the changeset viewer.