- Timestamp:
- 2017-10-04T09:19:23+02:00 (7 years ago)
- Location:
- branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/DYN
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/DYN/divhor.F90
r8568 r8586 81 81 END DO 82 82 END DO 83 IF( .NOT. AGRIF_Root() ) THEN84 IF( nbondi == 1 .OR. nbondi == 2 ) hdivn(nlci-1, : ,jk) = 0._wp ! east85 IF( nbondi == -1 .OR. nbondi == 2 ) hdivn( 2 , : ,jk) = 0._wp ! west86 IF( nbondj == 1 .OR. nbondj == 2 ) hdivn( : ,nlcj-1,jk) = 0._wp ! north87 IF( nbondj == -1 .OR. nbondj == 2 ) hdivn( : , 2 ,jk) = 0._wp ! south88 ENDIF89 83 END DO 84 #if defined key_agrif 85 IF( .NOT. Agrif_Root() ) THEN 86 IF( nbondi == -1 .OR. nbondi == 2 ) hdivn( 2:nbghostcells+1,: ,:) = 0._wp ! west 87 IF( nbondi == 1 .OR. nbondi == 2 ) hdivn( nlci-nbghostcells:nlci-1,:,:) = 0._wp ! east 88 IF( nbondj == -1 .OR. nbondj == 2 ) hdivn( :,2:nbghostcells+1 ,:) = 0._wp ! south 89 IF( nbondj == 1 .OR. nbondj == 2 ) hdivn( :,nlcj-nbghostcells:nlcj-1,:) = 0._wp ! north 90 ENDIF 91 #endif 90 92 ! 91 93 IF( ln_rnf ) CALL sbc_rnf_div( hdivn ) !== runoffs ==! (update hdivn field) -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg.F90
r8568 r8586 17 17 USE phycst ! physical constants 18 18 USE sbc_oce ! surface boundary condition: ocean 19 USE sbc_ice , ONLY : snwice_mass, snwice_mass_b 19 20 USE sbcapr ! surface boundary condition: atmospheric pressure 20 21 USE dynspg_exp ! surface pressure gradient (dyn_spg_exp routine) … … 70 71 !! period is used to prevent the divergence of odd and even time step. 71 72 !!---------------------------------------------------------------------- 72 INTEGER, INTENT(in 73 INTEGER, INTENT(in) :: kt ! ocean time-step index 73 74 ! 74 75 INTEGER :: ji, jj, jk ! dummy loop indices … … 88 89 IF( ln_apr_dyn & ! atmos. pressure 89 90 .OR. ( .NOT.ln_dynspg_ts .AND. (ln_tide_pot .AND. ln_tide) ) & ! tide potential (no time slitting) 90 .OR. nn_ice_embd == 2 ) THEN! embedded sea-ice91 .OR. ln_ice_embd ) THEN ! embedded sea-ice 91 92 ! 92 93 DO jj = 2, jpjm1 … … 102 103 DO ji = fs_2, fs_jpim1 ! vector opt. 103 104 spgu(ji,jj) = spgu(ji,jj) + zg_2 * ( ssh_ib (ji+1,jj) - ssh_ib (ji,jj) & 104 & + ssh_ibb(ji+1,jj) - ssh_ibb(ji,jj) ) * r1_e1u(ji,jj)105 & + ssh_ibb(ji+1,jj) - ssh_ibb(ji,jj) ) * r1_e1u(ji,jj) 105 106 spgv(ji,jj) = spgv(ji,jj) + zg_2 * ( ssh_ib (ji,jj+1) - ssh_ib (ji,jj) & 106 & + ssh_ibb(ji,jj+1) - ssh_ibb(ji,jj) ) * r1_e2v(ji,jj)107 & + ssh_ibb(ji,jj+1) - ssh_ibb(ji,jj) ) * r1_e2v(ji,jj) 107 108 END DO 108 109 END DO … … 122 123 ENDIF 123 124 ! 124 IF( nn_ice_embd == 2 ) THEN!== embedded sea ice: Pressure gradient due to snow-ice mass ==!125 IF( ln_ice_embd ) THEN !== embedded sea ice: Pressure gradient due to snow-ice mass ==! 125 126 ALLOCATE( zpice(jpi,jpj) ) 126 127 zintp = REAL( MOD( kt-1, nn_fsbc ) ) / REAL( nn_fsbc ) -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r8568 r8586 206 206 DO ji = fs_2, fs_jpim1 ! vector opt. 207 207 zCdU_u(ji,jj) = 0.5*( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) + rCdU_top(ji+1,jj)+rCdU_top(ji,jj) ) 208 zCdU_v(ji,jj) = 0.5*( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) + rCdU_top(ji +1,jj)+rCdU_top(ji,jj) )208 zCdU_v(ji,jj) = 0.5*( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) + rCdU_top(ji,jj+1)+rCdU_top(ji,jj) ) 209 209 END DO 210 210 END DO … … 504 504 END DO 505 505 ELSE 506 DO jj = 2, jpjm1 506 DO jj = 2, jpjm1 507 507 DO ji = fs_2, fs_jpim1 ! vector opt. 508 508 zu_frc(ji,jj) = zu_frc(ji,jj) + r1_hu_n(ji,jj) * 0.5*( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) ) * zwx(ji,jj) … … 510 510 END DO 511 511 END DO 512 END 512 ENDIF 513 513 ! 514 514 IF( ln_isfcav ) THEN ! Add TOP stress contribution from baroclinic velocities: … … 715 715 IF( .NOT.Agrif_Root() .AND. ln_bt_fw ) THEN 716 716 IF((nbondi == -1).OR.(nbondi == 2)) THEN 717 DO jj =1,jpj718 zwx(2 ,jj) = ubdy_w(jj) * e2u(2,jj)717 DO jj = 1, jpj 718 zwx(2:nbghostcells+1,jj) = ubdy_w(jj) * e2u(2:nbghostcells+1,jj) 719 719 END DO 720 720 ENDIF 721 721 IF((nbondi == 1).OR.(nbondi == 2)) THEN 722 722 DO jj=1,jpj 723 zwx(nlci- 2,jj) = ubdy_e(jj) * e2u(nlci-2,jj)723 zwx(nlci-nbghostcells-1:nlci-2,jj) = ubdy_e(jj) * e2u(nlci-nbghostcells-1:nlci-2,jj) 724 724 END DO 725 725 ENDIF 726 726 IF((nbondj == -1).OR.(nbondj == 2)) THEN 727 727 DO ji=1,jpi 728 zwy(ji,2 ) = vbdy_s(ji) * e1v(ji,2)728 zwy(ji,2:nbghostcells+1) = vbdy_s(ji) * e1v(ji,2:nbghostcells+1) 729 729 END DO 730 730 ENDIF 731 731 IF((nbondj == 1).OR.(nbondj == 2)) THEN 732 732 DO ji=1,jpi 733 zwy(ji,nlcj- 2) = vbdy_n(ji) * e1v(ji,nlcj-2)733 zwy(ji,nlcj-nbghostcells-1:nlcj-2) = vbdy_n(ji) * e1v(ji,nlcj-nbghostcells-1:nlcj-2) 734 734 END DO 735 735 ENDIF … … 915 915 ENDIF 916 916 ! 917 DO jj = 2, jpjm1 918 DO ji = fs_2, fs_jpim1 ! vector opt. 919 ! Add top/bottom stresses: 920 !!gm old/new 917 DO jj = 2, jpjm1 ! Add top/bottom stresses: 918 DO ji = fs_2, fs_jpim1 ! vector opt. 921 919 zu_trd(ji,jj) = zu_trd(ji,jj) + zCdU_u(ji,jj) * un_e(ji,jj) * hur_e(ji,jj) 922 920 zv_trd(ji,jj) = zv_trd(ji,jj) + zCdU_v(ji,jj) * vn_e(ji,jj) * hvr_e(ji,jj) 923 !!gm924 921 END DO 925 922 END DO 926 923 ! 927 924 ! Surface pressure trend: 928 929 925 IF( ln_wd ) THEN 930 926 DO jj = 2, jpjm1 -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90
r8568 r8586 184 184 !! References : Sadourny, r., 1975, j. atmos. sciences, 32, 680-689. 185 185 !!---------------------------------------------------------------------- 186 INTEGER , INTENT(in ):: kt ! ocean time-step index187 INTEGER , INTENT(in ):: kvor ! total, planetary, relative, or metric186 INTEGER , INTENT(in ) :: kt ! ocean time-step index 187 INTEGER , INTENT(in ) :: kvor ! total, planetary, relative, or metric 188 188 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: pun, pvn ! now velocities 189 189 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: pua, pva ! total v-trend … … 301 301 !! References : Sadourny, r., 1975, j. atmos. sciences, 32, 680-689. 302 302 !!---------------------------------------------------------------------- 303 INTEGER , INTENT(in ):: kt ! ocean time-step index304 INTEGER , INTENT(in ):: kvor ! total, planetary, relative, or metric303 INTEGER , INTENT(in ) :: kt ! ocean time-step index 304 INTEGER , INTENT(in ) :: kvor ! total, planetary, relative, or metric 305 305 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: pun, pvn ! now velocities 306 306 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: pua, pva ! total v-trend … … 414 414 !! References : Arakawa and Lamb 1980, Mon. Wea. Rev., 109, 18-36 415 415 !!---------------------------------------------------------------------- 416 INTEGER , INTENT(in ):: kt ! ocean time-step index417 INTEGER , INTENT(in ):: kvor ! total, planetary, relative, or metric416 INTEGER , INTENT(in ) :: kt ! ocean time-step index 417 INTEGER , INTENT(in ) :: kvor ! total, planetary, relative, or metric 418 418 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: pun, pvn ! now velocities 419 419 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: pua, pva ! total v-trend -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf.F90
r8568 r8586 66 66 !! ** Action : (ua,va) after velocity 67 67 !!--------------------------------------------------------------------- 68 INTEGER , INTENT(in) :: kt! ocean time-step index68 INTEGER, INTENT(in) :: kt ! ocean time-step index 69 69 ! 70 70 INTEGER :: ji, jj, jk ! dummy loop indices -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/DYN/wet_dry.F90
r8568 r8586 244 244 !IF( ln_rnf ) CALL sbc_rnf_div( hdivn ) ! runoffs (update hdivn field) 245 245 !IF( nn_cla == 1 ) CALL cla_div ( kt ) ! Cross Land Advection (update hdivn field) 246 !247 246 ! 248 247 !
Note: See TracChangeset
for help on using the changeset viewer.