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/dynspg_flt_jki.F90 – NEMO

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
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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.