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 14000 for NEMO – NEMO

Changeset 14000 for NEMO


Ignore:
Timestamp:
2020-12-02T15:03:17+01:00 (3 years ago)
Author:
jchanut
Message:

#2222, fixes an allocation pb if child initialized from parent (optional)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r13312_AGRIF-03-04_jchanut_vinterp_tstep/src/NST/agrif_oce_interp.F90

    r13937 r14000  
    831831   SUBROUTINE interptsn( ptab, i1, i2, j1, j2, k1, k2, n1, n2, before ) 
    832832      !!---------------------------------------------------------------------- 
    833       !!                  *** ROUTINE interptsn *** 
    834       !!---------------------------------------------------------------------- 
    835833      REAL(wp), DIMENSION(i1:i2,j1:j2,k1:k2,n1:n2), INTENT(inout) ::   ptab 
    836834      INTEGER                                     , INTENT(in   ) ::   i1, i2, j1, j2, k1, k2, n1, n2 
     
    902900                   
    903901                  ! Intermediate grid: 
    904                   DO jk = 1, N_in 
    905                      h_in_i(jk) = e3t0_parent(ji,jj,jk) * &  
    906                        &       (1._wp + ptab(ji,jj,k2,n2)/(ht0_parent(ji,jj)*ssmask(ji,jj) + 1._wp - ssmask(ji,jj))) 
    907                   END DO 
    908                   z_in_i(1) = 0.5_wp * h_in_i(1) 
    909                   DO jk=2,N_in 
    910                      z_in_i(jk) = z_in_i(jk-1) + 0.5_wp * ( h_in_i(jk) + h_in_i(jk-1) ) 
    911                   END DO 
    912                   z_in_i(1:N_in) = z_in_i(1:N_in)  - ptab(ji,jj,k2,n2) 
     902                  IF ( l_vremap ) THEN 
     903                     DO jk = 1, N_in 
     904                        h_in_i(jk) = e3t0_parent(ji,jj,jk) * &  
     905                          &       (1._wp + ptab(ji,jj,k2,n2)/(ht0_parent(ji,jj)*ssmask(ji,jj) + 1._wp - ssmask(ji,jj))) 
     906                     END DO 
     907                     z_in_i(1) = 0.5_wp * h_in_i(1) 
     908                     DO jk=2,N_in 
     909                        z_in_i(jk) = z_in_i(jk-1) + 0.5_wp * ( h_in_i(jk) + h_in_i(jk-1) ) 
     910                     END DO 
     911                     z_in_i(1:N_in) = z_in_i(1:N_in)  - ptab(ji,jj,k2,n2) 
     912                  ENDIF                               
    913913 
    914914                  ! Output (Child) grid: 
     
    10801080                     !   h_in(jk) = ptab(ji,jj,jk,2)/(e2u(ji,jj)*zrhoy)  
    10811081                     !ENDIF 
    1082                      h_in(jk) = e3u0_parent(ji,jj,jk)  
    1083                      zhtot = zhtot + h_in(jk) 
     1082                     IF ( l_vremap ) THEN 
     1083                        h_in(jk) = e3u0_parent(ji,jj,jk)  
     1084                        zhtot = zhtot + h_in(jk) 
     1085                     ENDIF 
    10841086                     IF( h_in(jk) .GT. 0. ) THEN 
    10851087                     tabin(jk) = ptab(ji,jj,jk,1)/(e2u(ji,jj)*zrhoy*h_in(jk)) 
     
    12031205                     !   h_in(jk) = ptab(ji,jj,jk,2)/(e1v(ji,jj)*zrhox)  
    12041206                     !ENDIF 
    1205                      h_in(jk) = e3v0_parent(ji,jj,jk) 
    1206                      zhtot = zhtot + h_in(jk) 
     1207                     IF (l_vremap) THEN 
     1208                        h_in(jk) = e3v0_parent(ji,jj,jk) 
     1209                        zhtot = zhtot + h_in(jk) 
     1210                     ENDIF 
    12071211                     IF( h_in(jk) .GT. 0. ) THEN 
    12081212                       tabin(jk) = ptab(ji,jj,jk,1)/(e1v(ji,jj)*zrhox*h_in(jk)) 
Note: See TracChangeset for help on using the changeset viewer.