Ignore:
Timestamp:
2020-10-05T16:18:53+02:00 (5 months ago)
Author:
jchanut
Message:

#2222, 1) Added parent bathymetry volume consistency check 2) Added velocity extrapolation in update 3) Corrected bdy issue #2519

File:
1 edited

Legend:

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

    r13371 r13565  
    9191      CALL agrif_declare_variable((/2,2    /),(/ind2  ,ind3      /),(/'x','y'        /),(/1,1    /),(/jpi,jpj        /),sshini_id) 
    9292      !  
     93      ! Update location 
     94      CALL agrif_declare_variable((/2,2/),(/ind2  ,ind3  /),(/'x','y'/),(/1,1/),(/jpi,jpj/), batupd_id) 
    9395      
    9496      ! 2. Type of interpolation 
     
    138140      CALL Agrif_Set_Updatetype(e1u_id,update1 = Agrif_Update_Average       , update2=Agrif_Update_Full_Weighting) 
    139141      CALL Agrif_Set_Updatetype(e2v_id,update1 = Agrif_Update_Full_Weighting, update2=Agrif_Update_Average       ) 
     142      CALL Agrif_Set_Updatetype(batupd_id, update = Agrif_Update_Full_Weighting) 
    140143#else 
    141144      CALL Agrif_Set_Updatetype(e1u_id,update1 = Agrif_Update_Copy          , update2=Agrif_Update_Average       ) 
    142145      CALL Agrif_Set_Updatetype(e2v_id,update1 = Agrif_Update_Average       , update2=Agrif_Update_Copy          ) 
    143 #endif 
    144        
     146      CALL Agrif_Set_Updatetype(batupd_id, update = Agrif_Update_Average) 
     147#endif       
     148 
    145149   !   CALL Agrif_Set_ExternalMapping(nemo_mapping) 
    146150      ! 
     
    199203      IF ( ln_sco.AND.Agrif_Parent(ln_sco) ) THEN  
    200204         DO_2D( 1, 0, 1, 0 ) 
    201             hu0_parent(ji,jj) = 0.5_wp * ( ht0_parent(ji,jj)+ht0_parent(ji+1,jj) ) 
    202             hv0_parent(ji,jj) = 0.5_wp * ( ht0_parent(ji,jj)+ht0_parent(ji,jj+1) ) 
     205            hu0_parent(ji,jj) = 0.5_wp * ( ht0_parent(ji,jj)+ht0_parent(ji+1,jj) ) * ssumask(ji,jj) 
     206            hv0_parent(ji,jj) = 0.5_wp * ( ht0_parent(ji,jj)+ht0_parent(ji,jj+1) ) * ssvmask(ji,jj) 
    203207         END_2D 
    204208      ELSE 
     
    432436! 
    433437! > Divergence conserving alternative: 
     438!      CALL Agrif_Set_bcinterp( ts_interp_id,interp =AGRIF_constant) 
     439!      CALL Agrif_Set_bcinterp( un_interp_id,interp1=Agrif_linear,interp2=AGRIF_constant   ) 
     440!      CALL Agrif_Set_bcinterp( vn_interp_id,interp1=AGRIF_constant   ,interp2=Agrif_linear) 
     441! 
     442!      CALL Agrif_Set_bcinterp(  ts_sponge_id,interp =AGRIF_constant) 
     443!      CALL Agrif_Set_bcinterp(  un_sponge_id,interp1=Agrif_linear,interp2=AGRIF_constant   ) 
     444!      CALL Agrif_Set_bcinterp(  vn_sponge_id,interp1=AGRIF_constant   ,interp2=Agrif_linear) 
     445! 
    434446!      CALL Agrif_Set_bcinterp(sshn_id,interp=AGRIF_constant) 
    435447!      CALL Agrif_Set_bcinterp(unb_id,interp1=Agrif_linear,interp2=AGRIF_constant) 
     
    785797      ENDIF 
    786798 
     799! JC => side effects of lines below to be checked: 
    787800      lk_west  = .NOT. ( Agrif_Ix() == 1 ) 
    788801      lk_east  = .NOT. ( Agrif_Ix() + nbcellsx/AGRIF_Irhox() == Agrif_Parent(jpiglo) -1 ) 
    789802      lk_south = .NOT. ( Agrif_Iy() == 1 ) 
    790803      lk_north = .NOT. ( Agrif_Iy() + nbcellsy/AGRIF_Irhoy() == Agrif_Parent(jpjglo) -1 ) 
    791  
    792804      ! 
    793805      ! Set the number of ghost cells according to periodicity 
     
    798810      IF(   jperio == 1  )   nbghostcells_x   = 0 
    799811      IF( .NOT. lk_south )   nbghostcells_y_s = 0 
     812      ! For 2DV domains: 
     813      IF (( nbcellsy <= 3 ).AND.(AGRIF_Irhoy()==1)) THEN 
     814         lk_north  = .FALSE. ; lk_south = .FALSE. 
     815         nbghostcells_y_s = nbghostcells 
     816      ENDIF 
     817      IF (( nbcellsx <= 3 ).AND.(AGRIF_Irhox()==1)) THEN 
     818         lk_east  = .FALSE. ; lk_north = .FALSE. 
     819      ENDIF 
    800820      ! Some checks 
    801821      IF( jpiglo /= nbcellsx + 2 + 2*nn_hls + nbghostcells_x   + nbghostcells_x   )   CALL ctl_stop( 'STOP',    & 
Note: See TracChangeset for help on using the changeset viewer.