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_update.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_update.F90

    r11078 r11949  
    8484               DO jj=j1,j2 
    8585                  DO ji=i1,i2 
    86                      tabres(ji,jj,jk,jn) = (trn(ji,jj,jk,jn) * e3t_n(ji,jj,jk) ) & 
    87                                            * tmask(ji,jj,jk) + (tmask(ji,jj,jk)-1)*999._wp 
     86                     tabres(ji,jj,jk,jn) = (    tr(ji,jj,jk,jn,Kmm) * e3t(ji,jj,jk,Kmm) ) & 
     87                       &                   * tmask(ji,jj,jk) + (tmask(ji,jj,jk)-1)*999._wp 
    8888                  END DO 
    8989               END DO 
     
    9393            DO jj=j1,j2 
    9494               DO ji=i1,i2 
    95                   tabres(ji,jj,jk,n2) = tmask(ji,jj,jk) * e3t_n(ji,jj,jk) & 
    96                                            + (tmask(ji,jj,jk)-1)*999._wp 
     95                  tabres(ji,jj,jk,n2) =   tmask(ji,jj,jk) * e3t(ji,jj,jk,Kmm) & 
     96                    &                  + (tmask(ji,jj,jk)-1)*999._wp 
    9797               END DO 
    9898            END DO 
     
    114114                  IF (tmask(ji,jj,jk) < -900) EXIT ! TODO: Will not work with ISF 
    115115                  N_out = N_out + 1 
    116                   h_out(N_out) = e3t_n(ji,jj,jk) !Parent grid scale factors. Could multiply by e1e2t here instead of division above 
     116                  h_out(N_out) = e3t(ji,jj,jk,Kmm) !Parent grid scale factors. Could multiply by e1e2t here instead of division above 
    117117               ENDDO 
    118118               IF (N_in > 0) THEN !Remove this? 
     
    138138                     DO ji=i1,i2 
    139139                        IF( tabres_child(ji,jj,jk,jn) .NE. 0. ) THEN 
    140                            trb(ji,jj,jk,jn) = trb(ji,jj,jk,jn) &  
    141                                  & + atfp * ( tabres_child(ji,jj,jk,jn) & 
    142                                  &          - trn(ji,jj,jk,jn) ) * tmask(ji,jj,jk) 
     140                           tr(ji,jj,jk,jn,Kbb) = ts(ji,jj,jk,jn,Kbb)                     &  
     141                             &                  + atfp * ( tabres_child(ji,jj,jk,jn)     & 
     142                             &                                     - tr(ji,jj,jk,jn,Kmm) & 
     143                             &                           ) *      tmask(ji,jj,jk) 
    143144                        ENDIF 
    144145                     ENDDO 
     
    152153                  DO ji=i1,i2 
    153154                     IF( tabres_child(ji,jj,jk,jn) .NE. 0. ) THEN  
    154                         trn(ji,jj,jk,jn) = tabres_child(ji,jj,jk,jn) * tmask(ji,jj,jk) 
     155                        tr(ji,jj,jk,jn,Kmm) = tabres_child(ji,jj,jk,jn) * tmask(ji,jj,jk) 
    155156                     END IF 
    156157                  END DO 
     
    183184                  DO ji=i1,i2 
    184185!> jc tmp 
    185                      tabres(ji,jj,jk,jn) = trn(ji,jj,jk,jn)  * e3t_n(ji,jj,jk) / e3t_0(ji,jj,jk) 
    186 !                     tabres(ji,jj,jk,jn) = trn(ji,jj,jk,jn)  * e3t_n(ji,jj,jk) 
     186                     tabres(ji,jj,jk,jn) = tr(ji,jj,jk,jn,Kmm) * e3t(ji,jj,jk,Kmm) / e3t_0(ji,jj,jk) 
     187!                    tabres(ji,jj,jk,jn) = tr(ji,jj,jk,jn,Kmm) * e3t(ji,jj,jk,Kmm) 
    187188!< jc tmp 
    188189                  END DO 
     
    194195         DO jn = n1,n2 
    195196            tabres(i1:i2,j1:j2,k1:k2,jn) =  tabres(i1:i2,j1:j2,k1:k2,jn) * e3t_0(i1:i2,j1:j2,k1:k2) & 
    196                                          & * tmask(i1:i2,j1:j2,k1:k2) 
     197              &                            * tmask(i1:i2,j1:j2,k1:k2) 
    197198         ENDDO 
    198199!< jc tmp 
     
    204205                     DO ji=i1,i2 
    205206                        IF( tabres(ji,jj,jk,jn) .NE. 0. ) THEN 
    206                            ztb  = trb(ji,jj,jk,jn) * e3t_b(ji,jj,jk) ! fse3t_b prior update should be used 
     207                           ztb  =     tr(ji,jj,jk,jn,Kbb) * e3t(ji,jj,jk,Kbb) ! fse3t_b prior update should be used 
    207208                           ztnu = tabres(ji,jj,jk,jn) 
    208                            ztno = trn(ji,jj,jk,jn) * e3t_a(ji,jj,jk) 
    209                            trb(ji,jj,jk,jn) = ( ztb + atfp * ( ztnu - ztno) )  &  
    210                                      &        * tmask(ji,jj,jk) / e3t_b(ji,jj,jk) 
     209                           ztno =     tr(ji,jj,jk,jn,Kmm) * e3t(ji,jj,jk,Krhs) 
     210                           tr(ji,jj,jk,jn,Kbb) = ( ztb + atfp * ( ztnu - ztno) ) * tmask(ji,jj,jk)     & 
     211                             &                                                   /   e3t(ji,jj,jk,Kbb) 
    211212                        ENDIF 
    212213                     ENDDO 
     
    220221                  DO ji=i1,i2 
    221222                     IF( tabres(ji,jj,jk,jn) .NE. 0. ) THEN  
    222                         trn(ji,jj,jk,jn) = tabres(ji,jj,jk,jn) / e3t_n(ji,jj,jk) 
     223                        tr(ji,jj,jk,jn,Kmm) = tabres(ji,jj,jk,jn) / e3t(ji,jj,jk,Kmm) 
    223224                     END IF 
    224225                  END DO 
     
    228229         ! 
    229230         IF  ((neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN 
    230             trb(i1:i2,j1:j2,k1:k2,n1:n2)  = trn(i1:i2,j1:j2,k1:k2,n1:n2) 
     231            tr(i1:i2,j1:j2,k1:k2,n1:n2,Kbb)  = tr(i1:i2,j1:j2,k1:k2,n1:n2,Kmm) 
    231232         ENDIF 
    232233         ! 
Note: See TracChangeset for help on using the changeset viewer.