Changeset 8965
- Timestamp:
- 2017-12-08T17:42:49+01:00 (7 years ago)
- Location:
- branches/2017/dev_r8624_AGRIF3_VVL/NEMOGCM/NEMO
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8624_AGRIF3_VVL/NEMOGCM/NEMO/NST_SRC/agrif_oce.F90
r8901 r8965 24 24 REAL(wp), PUBLIC :: rn_sponge_dyn = 2800. !: sponge coeff. for dynamics 25 25 LOGICAL , PUBLIC :: ln_chk_bathy = .FALSE. !: check of parent bathymetry 26 LOGICAL , PUBLIC :: lk_agrif_clp = .FALSE. !: Flag to retrieve clamped open boundaries 26 27 27 28 ! !!! OLD namelist names -
branches/2017/dev_r8624_AGRIF3_VVL/NEMOGCM/NEMO/NST_SRC/agrif_opa_interp.F90
r8741 r8965 117 117 ENDIF 118 118 ! 119 DO jk=1,jpkm1 ! Smooth 120 DO jj=j1,j2 121 ua(2,jj,jk) = 0.25_wp*(ua(1,jj,jk)+2._wp*ua(2,jj,jk)+ua(3,jj,jk)) 122 ua(2,jj,jk) = ua(2,jj,jk) * umask(2,jj,jk) 123 END DO 124 END DO 119 IF (.NOT.lk_agrif_clp) THEN 120 DO jk=1,jpkm1 ! Smooth 121 DO jj=j1,j2 122 ua(2,jj,jk) = 0.25_wp*(ua(1,jj,jk)+2._wp*ua(2,jj,jk)+ua(3,jj,jk)) 123 ua(2,jj,jk) = ua(2,jj,jk) * umask(2,jj,jk) 124 END DO 125 END DO 126 END IF 125 127 ! 126 128 zub(2,:) = 0._wp ! Correct transport … … 186 188 ENDIF 187 189 188 DO jk = 1, jpkm1 ! Smooth 189 DO jj = j1, j2 190 ua(nlci-2,jj,jk) = 0.25_wp * umask(nlci-2,jj,jk) & 191 & * ( ua(nlci-3,jj,jk) + 2._wp*ua(nlci-2,jj,jk) + ua(nlci-1,jj,jk) ) 192 END DO 193 END DO 190 IF (.NOT.lk_agrif_clp) THEN 191 DO jk = 1, jpkm1 ! Smooth 192 DO jj = j1, j2 193 ua(nlci-2,jj,jk) = 0.25_wp * umask(nlci-2,jj,jk) & 194 & * ( ua(nlci-3,jj,jk) + 2._wp*ua(nlci-2,jj,jk) + ua(nlci-1,jj,jk) ) 195 END DO 196 END DO 197 ENDIF 194 198 195 199 zub(nlci-2,:) = 0._wp ! Correct transport … … 255 259 ENDIF 256 260 ! 257 DO jk = 1, jpkm1 ! Smooth 258 DO ji = i1, i2 259 va(ji,2,jk) = 0.25_wp * vmask(ji,2,jk) & 260 & * ( va(ji,1,jk) + 2._wp*va(ji,2,jk) + va(ji,3,jk) ) 261 END DO 262 END DO 261 IF (.NOT.lk_agrif_clp) THEN 262 DO jk = 1, jpkm1 ! Smooth 263 DO ji = i1, i2 264 va(ji,2,jk) = 0.25_wp * vmask(ji,2,jk) & 265 & * ( va(ji,1,jk) + 2._wp*va(ji,2,jk) + va(ji,3,jk) ) 266 END DO 267 END DO 268 ENDIF 263 269 ! 264 270 zvb(:,2) = 0._wp ! Correct transport … … 324 330 ENDIF 325 331 ! 326 DO jk = 1, jpkm1 ! Smooth 327 DO ji = i1, i2 328 va(ji,nlcj-2,jk) = 0.25_wp * vmask(ji,nlcj-2,jk) & 329 & * ( va(ji,nlcj-3,jk) + 2._wp * va(ji,nlcj-2,jk) + va(ji,nlcj-1,jk) ) 330 END DO 331 END DO 332 IF (.NOT.lk_agrif_clp) THEN 333 DO jk = 1, jpkm1 ! Smooth 334 DO ji = i1, i2 335 va(ji,nlcj-2,jk) = 0.25_wp * vmask(ji,nlcj-2,jk) & 336 & * ( va(ji,nlcj-3,jk) + 2._wp * va(ji,nlcj-2,jk) + va(ji,nlcj-1,jk) ) 337 END DO 338 END DO 339 ENDIF 332 340 ! 333 341 zvb(:,nlcj-2) = 0._wp ! Correct transport … … 616 624 ptab(i1:i2,j1:j2,k1:k2,n1:n2) = tsn(i1:i2,j1:j2,k1:k2,n1:n2) 617 625 ELSE 626 IF (lk_agrif_clp) THEN 627 DO jn = 1, jpts 628 DO jk = 1, jpkm1 629 DO ji = i1,i2 630 DO jj = j1,j2 631 tsa(ji,jj,jk,jn) = ptab(ji,jj,jk,jn) 632 END DO 633 END DO 634 END DO 635 END DO 636 return 637 ENDIF 618 638 ! 619 639 western_side = (nb == 1).AND.(ndir == 1) -
branches/2017/dev_r8624_AGRIF3_VVL/NEMOGCM/NEMO/NST_SRC/agrif_opa_sponge.F90
r8762 r8965 280 280 ! 281 281 IF( before ) THEN 282 tabres = u n(i1:i2,j1:j2,:)282 tabres = ub(i1:i2,j1:j2,:) 283 283 ELSE 284 284 ubdiff(i1:i2,j1:j2,:) = (ub(i1:i2,j1:j2,:) - tabres(:,:,:))*umask(i1:i2,j1:j2,:) … … 377 377 378 378 IF( before ) THEN 379 tabres = v n(i1:i2,j1:j2,:)379 tabres = vb(i1:i2,j1:j2,:) 380 380 ELSE 381 381 ! -
branches/2017/dev_r8624_AGRIF3_VVL/NEMOGCM/NEMO/NST_SRC/agrif_opa_update.F90
r8901 r8965 97 97 ! Account for updated thicknesses at boundary edges 98 98 IF (.NOT.ln_linssh) THEN 99 CALL Agrif_Update_Variable(un_update_id,locupdate1=(/0,0/),locupdate2=(/0,0/),procname = correct_u_bdy) 100 CALL Agrif_Update_Variable(vn_update_id,locupdate1=(/0,0/),locupdate2=(/0,0/),procname = correct_v_bdy) 99 ! For the time being calls below do not ensure reproducible results 100 ! CALL Agrif_Update_Variable(un_update_id,locupdate1=(/0,0/),locupdate2=(/0,0/),procname = correct_u_bdy) 101 ! CALL Agrif_Update_Variable(vn_update_id,locupdate1=(/0,0/),locupdate2=(/0,0/),procname = correct_v_bdy) 101 102 ENDIF 102 103 # endif -
branches/2017/dev_r8624_AGRIF3_VVL/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_hgr.F90
r7753 r8965 93 93 zlam0 = zlam1 + zcos_alpha * ze1deg * REAL( jpjglo-2 , wp ) 94 94 zphi0 = zphi1 + zsin_alpha * ze1deg * REAL( jpjglo-2 , wp ) 95 96 #if defined key_agrif 97 ! ! Upper left longitude and latitude from parent: 98 IF (.NOT.Agrif_root()) THEN 99 zlam0 = zlam1 + Agrif_irhox() * REAL(Agrif_Parent(jpjglo)-2 , wp) * ze1deg * zcos_alpha & 100 & + ( Agrif_Ix()*Agrif_irhox()-(0.5_wp+nbghostcells)) * ze1deg * zcos_alpha & 101 & + ( Agrif_Iy()*Agrif_irhoy()-(0.5_wp+nbghostcells)) * ze1deg * zsin_alpha 102 zphi0 = zphi1 + Agrif_irhoy() * REAL(Agrif_Parent(jpjglo)-2 , wp) * ze1deg * zsin_alpha & 103 & - ( Agrif_Ix()*Agrif_irhox()-nbghostcells ) * ze1deg * zsin_alpha & 104 & + ( Agrif_Iy()*Agrif_irhoy()-nbghostcells ) * ze1deg * zcos_alpha 105 ENDIF 106 #endif 95 107 ! 96 108 IF( ln_bench ) THEN ! benchmark: forced the resolution to be 106 km -
branches/2017/dev_r8624_AGRIF3_VVL/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_nam.F90
r7715 r8965 70 70 ! 71 71 cd_cfg = 'GYRE' ! name & resolution (not used) 72 #if defined key_agrif 73 IF (.NOT.Agrif_root()) nn_GYRE = Agrif_parent(nn_GYRE) * Agrif_irhox() 74 #endif 72 75 kk_cfg = nn_GYRE 73 76 ! 74 77 kpi = 30 * nn_GYRE + 2 ! Global Domain size 75 78 kpj = 20 * nn_GYRE + 2 79 #if defined key_agrif 80 IF( .NOT. Agrif_Root() ) THEN 81 kpi = nbcellsx + 2 + 2*nbghostcells 82 kpj = nbcellsy + 2 + 2*nbghostcells 83 ENDIF 84 #endif 76 85 kpk = jpkglo 77 86 ! … … 83 92 WRITE(ldtxt(ii),*) ' GYRE used as Benchmark (=T) ln_bench = ', ln_bench ; ii = ii + 1 84 93 WRITE(ldtxt(ii),*) ' inverse resolution & implied domain size nn_GYRE = ', nn_GYRE ; ii = ii + 1 94 #if defined key_agrif 95 IF( Agrif_Root() ) THEN 96 #endif 85 97 WRITE(ldtxt(ii),*) ' jpiglo = 30*nn_GYRE+2 jpiglo = ', kpi ; ii = ii + 1 86 98 WRITE(ldtxt(ii),*) ' jpjglo = 20*nn_GYRE+2 jpjglo = ', kpj ; ii = ii + 1 99 #if defined key_agrif 100 ENDIF 101 #endif 87 102 WRITE(ldtxt(ii),*) ' number of model levels jpkglo = ', kpk ; ii = ii + 1 88 103 !
Note: See TracChangeset
for help on using the changeset viewer.