- Timestamp:
- 2013-11-19T23:49:00+01:00 (10 years ago)
- Location:
- branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC/BDY/bdy_oce.F90
r4254 r4267 27 27 INTEGER, POINTER, DIMENSION(:,:) :: nbr 28 28 INTEGER, POINTER, DIMENSION(:,:) :: nbmap 29 REAL , POINTER, DIMENSION(:,:) :: nbw30 REAL , POINTER, DIMENSION(:,:) :: nbd31 REAL , POINTER, DIMENSION(:,:) :: nbdout32 REAL , POINTER, DIMENSION(:,:) :: flagu33 REAL , POINTER, DIMENSION(:,:) :: flagv29 REAL(wp) , POINTER, DIMENSION(:,:) :: nbw 30 REAL(wp) , POINTER, DIMENSION(:,:) :: nbd 31 REAL(wp) , POINTER, DIMENSION(:,:) :: nbdout 32 REAL(wp) , POINTER, DIMENSION(:,:) :: flagu 33 REAL(wp) , POINTER, DIMENSION(:,:) :: flagv 34 34 END TYPE OBC_INDEX 35 35 … … 48 48 LOGICAL :: ll_tem 49 49 LOGICAL :: ll_sal 50 REAL , POINTER, DIMENSION(:) :: ssh51 REAL , POINTER, DIMENSION(:) :: u2d52 REAL , POINTER, DIMENSION(:) :: v2d53 REAL , POINTER, DIMENSION(:,:) :: u3d54 REAL , POINTER, DIMENSION(:,:) :: v3d55 REAL , POINTER, DIMENSION(:,:) :: tem56 REAL , POINTER, DIMENSION(:,:) :: sal50 REAL(wp), POINTER, DIMENSION(:) :: ssh 51 REAL(wp), POINTER, DIMENSION(:) :: u2d 52 REAL(wp), POINTER, DIMENSION(:) :: v2d 53 REAL(wp), POINTER, DIMENSION(:,:) :: u3d 54 REAL(wp), POINTER, DIMENSION(:,:) :: v3d 55 REAL(wp), POINTER, DIMENSION(:,:) :: tem 56 REAL(wp), POINTER, DIMENSION(:,:) :: sal 57 57 #if defined key_lim2 58 58 LOGICAL :: ll_frld 59 59 LOGICAL :: ll_hicif 60 60 LOGICAL :: ll_hsnif 61 REAL , POINTER, DIMENSION(:) :: frld62 REAL , POINTER, DIMENSION(:) :: hicif63 REAL , POINTER, DIMENSION(:) :: hsnif61 REAL(wp), POINTER, DIMENSION(:) :: frld 62 REAL(wp), POINTER, DIMENSION(:) :: hicif 63 REAL(wp), POINTER, DIMENSION(:) :: hsnif 64 64 #endif 65 65 END TYPE OBC_DATA … … 93 93 LOGICAL, DIMENSION(jp_bdy) :: ln_tra_dmp !: =T Tracer damping 94 94 LOGICAL, DIMENSION(jp_bdy) :: ln_dyn3d_dmp !: =T Baroclinic velocity damping 95 REAL , DIMENSION(jp_bdy) :: rn_time_dmp !: Damping time scale in days96 REAL , DIMENSION(jp_bdy) :: rn_time_dmp_out !: Damping time scale in days at radiation outflow points95 REAL(wp), DIMENSION(jp_bdy) :: rn_time_dmp !: Damping time scale in days 96 REAL(wp), DIMENSION(jp_bdy) :: rn_time_dmp_out !: Damping time scale in days at radiation outflow points 97 97 98 98 #if defined key_lim2 -
branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn.F90
r4254 r4267 60 60 LOGICAL :: ll_dyn2d, ll_dyn3d, ll_orlanski 61 61 !! 62 REAL(wp), POINTER, DIMENSION(:,:) :: phur1, phvr1 ! inverse depth at u and v points 62 63 63 64 IF( nn_timing == 1 ) CALL timing_start('bdy_dyn') … … 84 85 phvr => hvr 85 86 CALL wrk_alloc(jpi,jpj,pua2d,pva2d) 86 IF ( ll_orlanski ) CALL wrk_alloc(jpi,jpj,pub2d,pvb2d )87 IF ( ll_orlanski ) CALL wrk_alloc(jpi,jpj,pub2d,pvb2d,phur1,phvr1) 87 88 88 89 !------------------------------------------------------- … … 96 97 97 98 IF (lk_vvl) THEN 99 phur1(:,:) = 0. 100 phvr1(:,:) = 0. 98 101 DO jk = 1, jpkm1 102 phur1(:,:) = phur1(:,:) + fse3u_a(:,:,jk) * umask(:,:,jk) 103 phvr1(:,:) = phvr1(:,:) + fse3v_a(:,:,jk) * vmask(:,:,jk) 99 104 pua2d(:,:) = pua2d(:,:) + fse3u_a(:,:,jk) * umask(:,:,jk) * ua(:,:,jk) 100 105 pva2d(:,:) = pva2d(:,:) + fse3v_a(:,:,jk) * vmask(:,:,jk) * va(:,:,jk) 101 106 END DO 102 pua2d(:,:) = pua2d(:,:) / ( hu_0(:,:) + sshu_a(:,:) + 1._wp - umask(:,:,1) ) 103 pva2d(:,:) = pva2d(:,:) / ( hv_0(:,:) + sshv_a(:,:) + 1._wp - vmask(:,:,1) ) 107 phur1(:,:) = umask(:,:,1) / ( phur1(:,:) + 1. - umask(:,:,1) ) 108 phvr1(:,:) = vmask(:,:,1) / ( phvr1(:,:) + 1. - vmask(:,:,1) ) 109 pua2d(:,:) = pua2d(:,:) * phur1(:,:) 110 pva2d(:,:) = pva2d(:,:) * phvr1(:,:) 104 111 ELSE 105 112 DO jk = 1, jpkm1 … … 123 130 124 131 IF (lk_vvl) THEN 132 phur1(:,:) = 0. 133 phvr1(:,:) = 0. 125 134 DO jk = 1, jpkm1 !! Vertically integrated momentum trends 135 phur1(:,:) = phur1(:,:) + fse3u_b(:,:,jk) * umask(:,:,jk) 136 phvr1(:,:) = phvr1(:,:) + fse3v_b(:,:,jk) * vmask(:,:,jk) 126 137 pub2d(:,:) = pub2d(:,:) + fse3u_b(:,:,jk) * umask(:,:,jk) * ub(:,:,jk) 127 138 pvb2d(:,:) = pvb2d(:,:) + fse3v_b(:,:,jk) * vmask(:,:,jk) * vb(:,:,jk) 128 139 END DO 129 pub2d(:,:) = pub2d(:,:) / ( hu_0(:,:) + sshu_b(:,:) + 1._wp - umask(:,:,1) ) 130 pvb2d(:,:) = pvb2d(:,:) / ( hv_0(:,:) + sshv_b(:,:) + 1._wp - vmask(:,:,1) ) 140 phur1(:,:) = umask(:,:,1) / ( phur1(:,:) + 1. - umask(:,:,1) ) 141 phvr1(:,:) = vmask(:,:,1) / ( phvr1(:,:) + 1. - vmask(:,:,1) ) 142 pub2d(:,:) = pub2d(:,:) * phur1(:,:) 143 pvb2d(:,:) = pvb2d(:,:) * phvr1(:,:) 131 144 ELSE 132 145 DO jk = 1, jpkm1 !! Vertically integrated momentum trends -
branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn3d.F90
r4254 r4267 266 266 REAL(wp) :: zwgt ! boundary weight 267 267 INTEGER :: ib_bdy ! loop index 268 REAL(wp), POINTER, DIMENSION(:,:) :: phur1, phvr1 ! inverse depth at u and v points 268 269 !!---------------------------------------------------------------------- 269 270 ! … … 273 274 ! Remove barotropic part from before velocity 274 275 !------------------------------------------------------- 275 CALL wrk_alloc(jpi,jpj,pub2d,pvb2d )276 CALL wrk_alloc(jpi,jpj,pub2d,pvb2d,phur1,phvr1) 276 277 277 278 pub2d(:,:) = 0.e0 278 279 pvb2d(:,:) = 0.e0 279 280 281 phur1(:,:) = 0. 282 phvr1(:,:) = 0. 280 283 DO jk = 1, jpkm1 281 284 #if defined key_vvl 285 phur1(:,:) = phur1(:,:) + fse3u_a(:,:,jk) * umask(:,:,jk) 286 phvr1(:,:) = phvr1(:,:) + fse3v_a(:,:,jk) * vmask(:,:,jk) 282 287 pub2d(:,:) = pub2d(:,:) + fse3u_b(:,:,jk)* ub(:,:,jk) *umask(:,:,jk) 283 288 pvb2d(:,:) = pvb2d(:,:) + fse3v_b(:,:,jk)* vb(:,:,jk) *vmask(:,:,jk) … … 289 294 290 295 IF( lk_vvl ) THEN 291 pub2d(:,:) = pub2d(:,:) * umask(:,:,1) / ( hu_0(:,:) + sshu_b(:,:) + 1._wp - umask(:,:,1) ) 292 pvb2d(:,:) = pvb2d(:,:) * vmask(:,:,1) / ( hv_0(:,:) + sshv_b(:,:) + 1._wp - vmask(:,:,1) ) 296 phur1(:,:) = umask(:,:,1) / ( phur1(:,:) + 1. - umask(:,:,1) ) 297 phvr1(:,:) = vmask(:,:,1) / ( phvr1(:,:) + 1. - vmask(:,:,1) ) 298 pub2d(:,:) = pub2d(:,:) * umask(:,:,1) * phur1(:,:) 299 pvb2d(:,:) = pvb2d(:,:) * vmask(:,:,1) * phvr1(:,:) 293 300 ELSE 294 301 pub2d(:,:) = pvb2d(:,:) * hur(:,:) -
branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90
r4266 r4267 25 25 USE oce ! ocean dynamics and tracers 26 26 USE dom_oce ! ocean space and time domain 27 USE dynadv, ONLY: ln_dynadv_vec 27 28 USE zdf_oce ! ocean vertical physics 28 29 USE ldftra_oce ! ocean active tracers: lateral physics
Note: See TracChangeset
for help on using the changeset viewer.