- Timestamp:
- 2017-12-01T07:22:09+01:00 (6 years ago)
- Location:
- branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/NST_SRC
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/NST_SRC/agrif_opa_interp.F90
r8863 r8866 4 4 !! AGRIF: interpolation package for the ocean dynamics (OPA) 5 5 !!====================================================================== 6 !! History : 2.0 ! 2002-06 (XXX) Original cade 7 !! - ! 2005-11 (XXX) 6 !! History : 2.0 ! 2002-06 (L. Debreu) Original cade 8 7 !! 3.2 ! 2009-04 (R. Benshila) 9 8 !! 3.6 ! 2014-09 (R. Benshila) … … 15 14 !! Agrif_tra : 16 15 !! Agrif_dyn : 16 !! Agrif_ssh : 17 !! Agrif_dyn_ts : 18 !! Agrif_dta_ts : 19 !! Agrif_ssh_ts : 20 !! Agrif_avm : 17 21 !! interpu : 18 22 !! interpv : … … 37 41 PUBLIC interpunb, interpvnb , interpub2b, interpvb2b 38 42 PUBLIC interpe3t, interpumsk, interpvmsk 39 PUBLIC Agrif_ tke, interpavm43 PUBLIC Agrif_avm, interpavm 40 44 41 45 INTEGER :: bdy_tinterp = 0 … … 595 599 596 600 597 SUBROUTINE Agrif_ tke598 !!---------------------------------------------------------------------- 599 !! *** ROUTINE Agrif_ tke***601 SUBROUTINE Agrif_avm 602 !!---------------------------------------------------------------------- 603 !! *** ROUTINE Agrif_avm *** 600 604 !!---------------------------------------------------------------------- 601 605 REAL(wp) :: zalpha 602 606 !!---------------------------------------------------------------------- 603 607 ! 604 zalpha = 1._wp ! JC: proper time interpolation impossible 605 ! => use last available value from parent 606 ! 607 Agrif_SpecialValue = 0.e0 608 zalpha = 1._wp ! proper time interpolation impossible ==> use last available value from parent 609 ! 610 Agrif_SpecialValue = 0._wp 608 611 Agrif_UseSpecialValue = .TRUE. 609 612 ! 610 CALL Agrif_Bc_variable( avm_id ,calledweight=zalpha, procname=interpavm)613 CALL Agrif_Bc_variable( avm_id, calledweight=zalpha, procname=interpavm ) 611 614 ! 612 615 Agrif_UseSpecialValue = .FALSE. 613 616 ! 614 END SUBROUTINE Agrif_ tke617 END SUBROUTINE Agrif_avm 615 618 616 619 … … 630 633 !!---------------------------------------------------------------------- 631 634 ! 632 IF (before) THEN635 IF( before ) THEN 633 636 ptab(i1:i2,j1:j2,k1:k2,n1:n2) = tsn(i1:i2,j1:j2,k1:k2,n1:n2) 634 637 ELSE 635 638 ! 636 western_side = (nb == 1).AND.(ndir == 1) ;eastern_side = (nb == 1).AND.(ndir == 2)637 southern_side = (nb == 2).AND.(ndir == 1) ;northern_side = (nb == 2).AND.(ndir == 2)639 western_side = (nb == 1).AND.(ndir == 1) ; eastern_side = (nb == 1).AND.(ndir == 2) 640 southern_side = (nb == 2).AND.(ndir == 1) ; northern_side = (nb == 2).AND.(ndir == 2) 638 641 ! 639 642 IF( nbghostcells > 1 ) THEN ! no smoothing -
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/NST_SRC/agrif_opa_update.F90
r8586 r8866 7 7 !! AGRIF: update package for the ocean dynamics (OPA) 8 8 !!====================================================================== 9 !! History : 2.0 ! 2002-06 (XXX) Original cade 10 !! - ! 2005-11 (XXX) 9 !! History : 2.0 ! 2002-06 (L. Debreu) Original code 11 10 !! 3.2 ! 2009-04 (R. Benshila) 12 11 !! 3.6 ! 2014-09 (R. Benshila) … … 29 28 30 29 PUBLIC Agrif_Update_Tra, Agrif_Update_Dyn, Update_Scales 31 PUBLIC Agrif_Update_Tke32 30 33 31 !!---------------------------------------------------------------------- … … 160 158 END SUBROUTINE Agrif_Update_Dyn 161 159 162 !!gm Missing GLS case !!!!!163 164 SUBROUTINE Agrif_Update_Tke( kt )165 !!----------------------------------------------------------------------166 !! *** ROUTINE Agrif_Update_Tke ***167 !!----------------------------------------------------------------------168 INTEGER, INTENT(in) :: kt ! timestep index169 !!----------------------------------------------------------------------170 !171 !!gm test on kt/=0 ???? why not nit000-1 ? doesn't seem logic172 IF( ( Agrif_NbStepint() /= 0 ) .AND. kt /= 0 ) RETURN173 # if defined TWO_WAY174 !175 Agrif_UseSpecialValueInUpdate = .TRUE.176 Agrif_SpecialValueFineGrid = 0._wp177 !178 CALL Agrif_Update_Variable( en_id, locupdate=(/0,0/), procname=updateEN )179 CALL Agrif_Update_Variable( avt_id, locupdate=(/0,0/), procname=updateAVT )180 CALL Agrif_Update_Variable( avm_id, locupdate=(/0,0/), procname=updateAVM )181 !182 Agrif_UseSpecialValueInUpdate = .FALSE.183 !184 # endif185 !186 END SUBROUTINE Agrif_Update_Tke187 188 160 189 161 SUBROUTINE updateTS( tabres, i1, i2, j1, j2, k1, k2, n1, n2, before ) … … 215 187 DO jj = j1, j2 216 188 DO ji = i1, i2 217 IF( tabres(ji,jj,jk,jn) .NE. 0.) THEN189 IF( tabres(ji,jj,jk,jn) /= 0._wp ) THEN 218 190 tsb(ji,jj,jk,jn) = tsb(ji,jj,jk,jn) & 219 191 & + atfp * ( tabres(ji,jj,jk,jn) - tsn(ji,jj,jk,jn) ) * tmask(ji,jj,jk) … … 228 200 DO jj=j1,j2 229 201 DO ji=i1,i2 230 IF( tabres(ji,jj,jk,jn) .NE. 0.) THEN202 IF( tabres(ji,jj,jk,jn) /= 0._wp ) THEN 231 203 tsn(ji,jj,jk,jn) = tabres(ji,jj,jk,jn) * tmask(ji,jj,jk) 232 204 END IF
Note: See TracChangeset
for help on using the changeset viewer.