Ignore:
Timestamp:
2013-06-12T23:03:47+02:00 (8 years ago)
Author:
smasson
Message:

trunk: (kind of) bugfix in agrif, see tricket #1111

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/NST_SRC/agrif_lim2_interp.F90

    r3680 r3916  
    334334      !!  we are in inside a new parent ice time step 
    335335     !!----------------------------------------------------------------------- 
    336       REAL(wp), DIMENSION(jpi,jpj,7) :: ztab  
     336      REAL(wp), DIMENSION(jpi,jpj,7) :: ztab3d  
    337337      INTEGER :: ji,jj,jn 
    338338      !!----------------------------------------------------------------------- 
     
    345345         adv_ice_sn(:,:,:,1) =  adv_ice_sn(:,:,:,2) 
    346346         ! interpolation of boundaries 
    347          ztab(:,:,:) = 0. 
     347         ztab3d(:,:,:) = 0. 
    348348         Agrif_SpecialValue=-9999. 
    349349         Agrif_UseSpecialValue = .TRUE. 
    350          CALL Agrif_Bc_variable( ztab, adv_ice_id ,procname=interp_adv_ice,calledweight=1. ) 
     350         CALL Agrif_Bc_variable( ztab3d, adv_ice_id ,procname=interp_adv_ice,calledweight=1. ) 
    351351         Agrif_SpecialValue=0. 
    352352         Agrif_UseSpecialValue = .FALSE. 
     
    356356            DO jj = 1, jpj 
    357357               DO ji=1,2 
    358                   adv_ice_oe(ji  ,jj,jn,2) = ztab(ji       ,jj,jn)  
    359                   adv_ice_oe(ji+2,jj,jn,2) = ztab(nlci-2+ji,jj,jn) 
     358                  adv_ice_oe(ji  ,jj,jn,2) = ztab3d(ji       ,jj,jn)  
     359                  adv_ice_oe(ji+2,jj,jn,2) = ztab3d(nlci-2+ji,jj,jn) 
    360360               END DO 
    361361            END DO 
     
    365365            Do jj =1,2 
    366366               DO ji = 1, jpi 
    367                   adv_ice_sn(ji,jj  ,jn,2) = ztab(ji,jj       ,jn)  
    368                   adv_ice_sn(ji,jj+2,jn,2) = ztab(ji,nlcj-2+jj,jn) 
     367                  adv_ice_sn(ji,jj  ,jn,2) = ztab3d(ji,jj       ,jn)  
     368                  adv_ice_sn(ji,jj+2,jn,2) = ztab3d(ji,nlcj-2+jj,jn) 
    369369               END DO 
    370370            END DO 
     
    384384      INTEGER :: ji,jj,jn 
    385385      REAL(wp) :: zalpha 
    386       REAL(wp), DIMENSION(jpi,jpj,7) :: ztab  
     386      REAL(wp), DIMENSION(jpi,jpj,7) :: ztab3d  
    387387      !!-----------------------------------------------------------------------       
    388388      ! 
     
    391391      zalpha = REAL(lim_nbstep,wp) / (Agrif_Rhot()*Agrif_PArent(nn_fsbc)/REAL(nn_fsbc)) 
    392392      ! 
    393       ztab(:,:,:) = 0.e0 
     393      ztab3d(:,:,:) = 0.e0 
    394394      DO jn =1,7 
    395395         DO jj =1,2 
    396396            DO ji = 1, jpi 
    397                ztab(ji,jj        ,jn) = (1-zalpha)*adv_ice_sn(ji,jj  ,jn,1) + zalpha*adv_ice_sn(ji,jj  ,jn,2)  
    398                ztab(ji,nlcj-2+jj ,jn) = (1-zalpha)*adv_ice_sn(ji,jj+2,jn,1) + zalpha*adv_ice_sn(ji,jj+2,jn,2)  
     397               ztab3d(ji,jj        ,jn) = (1-zalpha)*adv_ice_sn(ji,jj  ,jn,1) + zalpha*adv_ice_sn(ji,jj  ,jn,2)  
     398               ztab3d(ji,nlcj-2+jj ,jn) = (1-zalpha)*adv_ice_sn(ji,jj+2,jn,1) + zalpha*adv_ice_sn(ji,jj+2,jn,2)  
    399399            END DO 
    400400         END DO 
     
    404404         DO jj = 1, jpj 
    405405            DO ji=1,2 
    406                ztab(ji       ,jj,jn) = (1-zalpha)*adv_ice_oe(ji  ,jj,jn,1) + zalpha*adv_ice_oe(ji  ,jj,jn,2)  
    407                ztab(nlci-2+ji,jj,jn) = (1-zalpha)*adv_ice_oe(ji+2,jj,jn,1) + zalpha*adv_ice_oe(ji+2,jj,jn,2)  
    408             END DO 
    409          END DO 
    410       END DO 
    411       ! 
    412       CALL parcoursT( ztab(:,:, 1), frld  ) 
    413       CALL parcoursT( ztab(:,:, 2), hicif ) 
    414       CALL parcoursT( ztab(:,:, 3), hsnif ) 
    415       CALL parcoursT( ztab(:,:, 4), tbif(:,:,1) ) 
    416       CALL parcoursT( ztab(:,:, 5), tbif(:,:,2) ) 
    417       CALL parcoursT( ztab(:,:, 6), tbif(:,:,3) ) 
    418       CALL parcoursT( ztab(:,:, 7), qstoif ) 
     406               ztab3d(ji       ,jj,jn) = (1-zalpha)*adv_ice_oe(ji  ,jj,jn,1) + zalpha*adv_ice_oe(ji  ,jj,jn,2)  
     407               ztab3d(nlci-2+ji,jj,jn) = (1-zalpha)*adv_ice_oe(ji+2,jj,jn,1) + zalpha*adv_ice_oe(ji+2,jj,jn,2)  
     408            END DO 
     409         END DO 
     410      END DO 
     411      ! 
     412      CALL parcoursT( ztab3d(:,:, 1), frld  ) 
     413      CALL parcoursT( ztab3d(:,:, 2), hicif ) 
     414      CALL parcoursT( ztab3d(:,:, 3), hsnif ) 
     415      CALL parcoursT( ztab3d(:,:, 4), tbif(:,:,1) ) 
     416      CALL parcoursT( ztab3d(:,:, 5), tbif(:,:,2) ) 
     417      CALL parcoursT( ztab3d(:,:, 6), tbif(:,:,3) ) 
     418      CALL parcoursT( ztab3d(:,:, 7), qstoif ) 
    419419      ! 
    420420   END SUBROUTINE agrif_trp_lim2 
Note: See TracChangeset for help on using the changeset viewer.