New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 392 for trunk/NEMO/OPA_SRC/DYN – NEMO

Changeset 392 for trunk/NEMO/OPA_SRC/DYN


Ignore:
Timestamp:
2006-03-10T11:55:45+01:00 (18 years ago)
Author:
opalod
Message:

RB:nemo_v1_update_038: first integration of Agrif :

  • add agrif to dynspg_flt_jki.F90
  • cosmetic change of key_AGRIF in key_agrif
Location:
trunk/NEMO/OPA_SRC/DYN
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DYN/divcur.F90

    r389 r392  
    130130         IF( lp_obc_south )   hdivn(nis0  :nis1  ,njs0  :njs1  ,jk) = 0.e0      ! south 
    131131#endif          
    132 #if defined key_AGRIF 
     132#if defined key_agrif 
    133133         if ( .NOT. AGRIF_Root() ) then 
    134134            IF ((nbondi ==  1).OR.(nbondi == 2)) hdivn(nlci-1 , :     ,jk) = 0.e0      ! east 
     
    334334         IF( lp_obc_south )   hdivn(nis0  :nis1  ,njs0  :njs1  ,jk) = 0.e0      ! south 
    335335#endif          
    336 #if defined key_AGRIF 
     336#if defined key_agrif 
    337337         if ( .NOT. AGRIF_Root() ) then 
    338338            IF ((nbondi ==  1).OR.(nbondi == 2)) hdivn(nlci-1 , :     ,jk) = 0.e0      ! east 
  • trunk/NEMO/OPA_SRC/DYN/dynnxt.F90

    r389 r392  
    135135         !                                             ! =============== 
    136136# endif 
    137 # if defined key_AGRIF 
     137# if defined key_agrif 
    138138         !                                             ! =============== 
    139139      END DO                                           !   End of slab 
     
    178178      ENDIF 
    179179 
    180 #if defined key_AGRIF 
     180#if defined key_agrif 
    181181      IF (.NOT.Agrif_Root())    CALL Agrif_Update_Dyn( kt ) 
    182182#endif       
  • trunk/NEMO/OPA_SRC/DYN/dynspg_flt.F90

    r389 r392  
    171171      CALL obc_vol( kt ) 
    172172#endif 
    173 #if defined key_AGRIF 
     173#if defined key_agrif 
    174174      ! Update velocities on each coarse/fine interfaces 
    175175 
     
    239239      IF( nsolv == 4 )   CALL lbc_lnk_e( gcb, c_solver_pt, 1. )    
    240240 
    241 #if defined key_AGRIF 
     241#if defined key_agrif 
    242242 
    243243       If (.NOT.AGRIF_ROOT()) THEN 
     
    315315      END DO 
    316316 
    317 #if defined key_AGRIF       
     317#if defined key_agrif       
    318318      IF (.NOT. Agrif_Root()) THEN 
    319319      ! caution : grad D (fine) = grad D (coarse) at coarse/fine interface 
  • trunk/NEMO/OPA_SRC/DYN/dynspg_flt_jki.F90

    r358 r392  
    3737   USE prtctl          ! Print control 
    3838   USE in_out_manager  ! I/O manager 
     39   USE agrif_opa_interp 
    3940 
    4041   IMPLICIT NONE 
     
    178179         CALL obc_vol( kt ) 
    179180#endif 
     181#if defined key_agrif 
     182      ! Update velocities on each coarse/fine interfaces 
     183 
     184      CALL Agrif_dyn( kt ) 
     185 
     186#endif 
    180187#if defined key_orca_r2 
    181188      IF( n_cla == 1 )   CALL dyn_spg_cla( kt )      ! Cross Land Advection (Update (ua,va)) 
     
    237244      ! applied the lateral boundary conditions 
    238245      IF( nsolv == 4)   CALL lbc_lnk_e( gcb, c_solver_pt, 1. )   
     246 
     247#if defined key_agrif 
     248 
     249       If (.NOT.AGRIF_ROOT()) THEN 
     250 
     251         ! add contribution of gradient of after barotropic transport divergence  
     252        IF ((nbondi == -1).OR.(nbondi == 2)) gcb(3,:) = gcb(3,:) & 
     253                        -znugdt * z2dt*laplacu(2,:)*gcdprc(3,:)*hu(2,:)*e2u(2,:) 
     254        IF ((nbondi == 1).OR.(nbondi == 2))  gcb(nlci-2,:) = gcb(nlci-2,:) & 
     255                       +znugdt * z2dt*laplacu(nlci-2,:)*gcdprc(nlci-2,:)*hu(nlci-2,:)*e2u(nlci-2,:) 
     256        IF ((nbondj == -1).OR.(nbondj == 2)) gcb(:,3) = gcb(:,3) & 
     257                       -znugdt * z2dt*laplacv(:,2)*gcdprc(:,3)*hv(:,2)*e1v(:,2) 
     258        IF ((nbondj == 1).OR.(nbondj == 2))  gcb(:,nlcj-2) = gcb(:,nlcj-2) & 
     259                       +znugdt * z2dt*laplacv(:,nlcj-2)*gcdprc(:,nlcj-2)*hv(:,nlcj-2)*e1v(:,nlcj-2) 
     260 
     261       ENDIF 
     262 
     263#endif 
    239264 
    240265      !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,synchro,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 
     
    310335         END DO 
    311336          
     337#if defined key_agrif       
     338      IF (.NOT. Agrif_Root()) THEN 
     339      ! caution : grad D (fine) = grad D (coarse) at coarse/fine interface 
     340        IF ((nbondi == -1).OR.(nbondi == 2)) spgu(2,:) = znugdt * z2dt * laplacu(2,:) * umask(2,:,1) 
     341        IF ((nbondi == 1).OR.(nbondi == 2)) spgu(nlci-2,:) = znugdt * z2dt * laplacu(nlci-2,:) * umask(nlci-2,:,1) 
     342        IF ((nbondj == -1).OR.(nbondj == 2)) spgv(:,2) = znugdt * z2dt * laplacv(:,2) * vmask(:,2,1) 
     343        IF ((nbondj == 1).OR.(nbondj == 2)) spgv(:,nlcj-2) = znugdt * z2dt * laplacv(:,nlcj-2) * vmask(:,nlcj-2,1) 
     344      ENDIF 
     345#endif 
     346       
    312347         ! 7.  Add the trends multiplied by z2dt to the after velocity 
    313348         ! ----------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.