- Timestamp:
- 2012-11-21T14:19:18+01:00 (12 years ago)
- Location:
- branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC/DYN
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg.F90
r3322 r3625 81 81 ! 82 82 INTEGER :: ji, jj, jk ! dummy loop indices 83 REAL(wp) :: z2dt, zg_2 83 REAL(wp) :: z2dt, zg_2, zintp, zgrau0r ! temporary scalar 84 84 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv 85 REAL(wp), POINTER, DIMENSION(:,:) :: zpice 85 86 !!---------------------------------------------------------------------- 86 87 ! … … 117 118 END DO 118 119 END DO 120 ENDIF 121 122 IF( nn_ice_embd == 2 ) THEN !== embedded sea ice: Pressure gradient due to snow-ice mass ==! 123 CALL wrk_alloc( jpi, jpj, zpice ) 124 ! 125 zintp = REAL( MOD( kt-1, nn_fsbc ) ) / REAL( nn_fsbc ) 126 zgrau0r = - grav * r1_rau0 127 zpice(:,:) = ( zintp * snwice_mass(:,:) + ( 1.- zintp ) * snwice_mass_b(:,:) ) * zgrau0r 128 DO jj = 2, jpjm1 129 DO ji = fs_2, fs_jpim1 ! vector opt. 130 spgu(ji,jj) = ( zpice(ji+1,jj) - zpice(ji,jj) ) / e1u(ji,jj) 131 spgv(ji,jj) = ( zpice(ji,jj+1) - zpice(ji,jj) ) / e2v(ji,jj) 132 END DO 133 END DO 134 DO jk = 1, jpkm1 ! Add the surface pressure trend to the general trend 135 DO jj = 2, jpjm1 136 DO ji = fs_2, fs_jpim1 ! vector opt. 137 ua(ji,jj,jk) = ua(ji,jj,jk) + spgu(ji,jj) 138 va(ji,jj,jk) = va(ji,jj,jk) + spgv(ji,jj) 139 END DO 140 END DO 141 END DO 142 ! 143 CALL wrk_dealloc( jpi, jpj, zpice ) 119 144 ENDIF 120 145 -
branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_exp.F90
r3294 r3625 61 61 ! 62 62 INTEGER :: ji, jj, jk, jl ! dummy loop indices 63 REAL(wp) :: z rau0r, zlavmr, zua, zva ! local scalars63 REAL(wp) :: zlavmr, zua, zva ! local scalars 64 64 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwx, zwy, zwz, zww 65 65 !!---------------------------------------------------------------------- … … 75 75 ENDIF 76 76 77 zrau0r = 1. / rau0 ! Local constant initialization78 77 zlavmr = 1. / REAL( nn_zdfexp ) 79 78 … … 81 80 DO jj = 2, jpjm1 ! Surface boundary condition 82 81 DO ji = 2, jpim1 83 zwy(ji,jj,1) = ( utau_b(ji,jj) + utau(ji,jj) ) * zrau0r84 zww(ji,jj,1) = ( vtau_b(ji,jj) + vtau(ji,jj) ) * zrau0r82 zwy(ji,jj,1) = ( utau_b(ji,jj) + utau(ji,jj) ) * r1_rau0 83 zww(ji,jj,1) = ( vtau_b(ji,jj) + vtau(ji,jj) ) * r1_rau0 85 84 END DO 86 85 END DO -
branches/2012/dev_NOC_2012_rev3555/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_imp.F90
r3294 r3625 161 161 DO ji = fs_2, fs_jpim1 ! vector opt. 162 162 ua(ji,jj,1) = ub(ji,jj,1) + p2dt * ( ua(ji,jj,1) + 0.5_wp * ( utau_b(ji,jj) + utau(ji,jj) ) & 163 & / ( fse3u(ji,jj,1) * rau0 ))163 & * r1_rau0 / fse3u(ji,jj,1) ) 164 164 END DO 165 165 END DO … … 247 247 DO ji = fs_2, fs_jpim1 ! vector opt. 248 248 va(ji,jj,1) = vb(ji,jj,1) + p2dt * ( va(ji,jj,1) + 0.5_wp * ( vtau_b(ji,jj) + vtau(ji,jj) ) & 249 & / ( fse3v(ji,jj,1) * rau0 ))249 & * r1_rau0 / fse3v(ji,jj,1) ) 250 250 END DO 251 251 END DO
Note: See TracChangeset
for help on using the changeset viewer.