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 11949 for NEMO/branches/2019/dev_r11943_MERGE_2019/src/NST/agrif_top_sponge.F90 – NEMO

Ignore:
Timestamp:
2019-11-22T15:29:17+01:00 (4 years ago)
Author:
acc
Message:

Merge in changes from 2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps. This just creates a fresh copy of this branch to use as the merge base. See ticket #2341

Location:
NEMO/branches/2019/dev_r11943_MERGE_2019/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src

    • Property svn:mergeinfo deleted
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/NST/agrif_top_sponge.F90

    r10068 r11949  
    8383               DO jj=j1,j2 
    8484                  DO ji=i1,i2 
    85                      tabres(ji,jj,jk,jn) = trb(ji,jj,jk,jn) 
     85                     tabres(ji,jj,jk,jn) = tr(ji,jj,jk,jn,Kbb) 
    8686                  END DO 
    8787               END DO 
     
    9393            DO jj=j1,j2 
    9494               DO ji=i1,i2 
    95                   tabres(ji,jj,jk,jpts+1) = tmask(ji,jj,jk) * e3t_n(ji,jj,jk)  
     95                  tabres(ji,jj,jk,jpts+1) = tmask(ji,jj,jk) * e3t(ji,jj,jk,Kmm)  
    9696               END DO 
    9797            END DO 
     
    108108                  N_in = N_in + 1 
    109109                  tabin(jk,:) = tabres(ji,jj,jk,n1:n2-1) 
    110                   h_in(N_in) = tabres(ji,jj,jk,n2) 
     110                  h_in(N_in)  = tabres(ji,jj,jk,n2) 
    111111               END DO 
    112112               N_out = 0 
    113113               DO jk=1,jpk ! jpk of child grid 
    114114                  IF (tmask(ji,jj,jk) == 0) EXIT  
    115                   N_out = N_out + 1 
    116                   h_out(jk) = e3t_n(ji,jj,jk) !Child grid scale factors. Could multiply by e1e2t here instead of division above 
     115                  N_out     = N_out + 1 
     116                  h_out(jk) = e3t(ji,jj,jk,Kmm) !Child grid scale factors. Could multiply by e1e2t here instead of division above 
    117117               ENDDO 
    118118               IF (N_in > 0) THEN 
    119                   h_diff = sum(h_out(1:N_out))-sum(h_in(1:N_in)) 
     119                  h_diff = SUM( h_out(1:N_out) ) - SUM( h_in(1:N_in) ) 
    120120                  tabres(ji,jj,k2,:) = tabres(ji,jj,k2-1,:) !what is this line for????? 
    121121                  DO jn=1,jptra 
     
    131131               DO jk=1,jpkm1 
    132132# if defined key_vertical 
    133                   trbdiff(ji,jj,jk,1:jptra) = trb(ji,jj,jk,1:jptra) - tabres_child(ji,jj,jk,1:jptra) 
     133                  trbdiff(ji,jj,jk,1:jptra) = tr(ji,jj,jk,1:jptra,Kbb) - tabres_child(ji,jj,jk,1:jptra) 
    134134# else 
    135                   trbdiff(ji,jj,jk,1:jptra) = trb(ji,jj,jk,1:jptra) - tabres(ji,jj,jk,1:jptra) 
     135                  trbdiff(ji,jj,jk,1:jptra) = tr(ji,jj,jk,1:jptra,Kbb) -      tabres(ji,jj,jk,1:jptra) 
    136136# endif 
    137137               ENDDO 
     
    143143               DO jj = j1,j2-1 
    144144                  DO ji = i1,i2-1 
    145                      zabe1 = fsaht_spu(ji,jj) * e2_e1u(ji,jj) * e3u_n(ji,jj,jk) * umask(ji,jj,jk) 
    146                      zabe2 = fsaht_spv(ji,jj) * e1_e2v(ji,jj) * e3v_n(ji,jj,jk) * vmask(ji,jj,jk) 
     145                     zabe1 = fsaht_spu(ji,jj) * e2_e1u(ji,jj) * e3u(ji,jj,jk,Kmm) * umask(ji,jj,jk) 
     146                     zabe2 = fsaht_spv(ji,jj) * e1_e2v(ji,jj) * e3v(ji,jj,jk,Kmm) * vmask(ji,jj,jk) 
    147147                     ztu(ji,jj) = zabe1 * ( trbdiff(ji+1,jj  ,jk,jn) - trbdiff(ji,jj,jk,jn) ) 
    148148                     ztv(ji,jj) = zabe2 * ( trbdiff(ji  ,jj+1,jk,jn) - trbdiff(ji,jj,jk,jn) ) 
     
    153153                  DO ji = i1+1,i2-1 
    154154                     IF( .NOT. tabspongedone_trn(ji,jj) ) THEN  
    155                         tra(ji,jj,jk,jn) = tra(ji,jj,jk,jn) + (  ztu(ji,jj) - ztu(ji-1,jj  )     & 
    156                            &                                   + ztv(ji,jj) - ztv(ji  ,jj-1)  )  & 
    157                            &                                * r1_e1e2t(ji,jj) / e3t_n(ji,jj,jk) 
     155                        tr(ji,jj,jk,jn,Krhs) = tr(ji,jj,jk,jn,Krhs) + (  ztu(ji,jj) - ztu(ji-1,jj  )       & 
     156                           &                                           + ztv(ji,jj) - ztv(ji  ,jj-1)  )    & 
     157                           &                                          * r1_e1e2t(ji,jj) / e3t(ji,jj,jk,Kmm) 
    158158                     ENDIF 
    159159                  END DO 
Note: See TracChangeset for help on using the changeset viewer.