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 11625 for NEMO/branches – NEMO

Changeset 11625 for NEMO/branches


Ignore:
Timestamp:
2019-10-01T15:18:44+02:00 (5 years ago)
Author:
jchanut
Message:

#2222, add initialization to 0 of tracer open boundary data with vertical interpolation + various neutral optimizations

Location:
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_interp.F90

    r11603 r11625  
    662662      INTEGER  ::   N_in, N_out 
    663663      ! vertical interpolation: 
    664       REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk,n1:n2) :: ptab_child 
    665       REAL(wp), DIMENSION(k1:k2,n1:n2-1) :: tabin 
     664      REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk,1:jpts) :: ptab_child 
     665      REAL(wp), DIMENSION(k1:k2,1:jpts) :: tabin 
    666666      REAL(wp), DIMENSION(k1:k2) :: h_in 
    667667      REAL(wp), DIMENSION(1:jpk) :: h_out 
     
    693693         DO jj=j1,j2 
    694694            DO ji=i1,i2 
     695               ptab_child(ji,jj,:,:) = 0._wp 
    695696               N_in = 0 
    696697               DO jk=k1,k2 !k2 = jpk of parent grid 
     
    706707                  h_out(jk) = e3t_a(ji,jj,jk) 
    707708               ENDDO 
    708                IF (N_in > 0) THEN 
     709               IF (N_in*N_out > 0) THEN 
    709710                  CALL reconstructandremap(tabin(1:N_in,1:jpts),h_in(1:N_in),ptab_child(ji,jj,1:N_out,1:jpts),h_out(1:N_out),N_in,N_out,jpts) 
    710711               ENDIF 
  • NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_sponge.F90

    r11603 r11625  
    329329         ! 
    330330# if defined key_vertical 
    331          tabres_child(:,:,:,:) = 0. 
    332331         DO jj=j1,j2 
    333332            DO ji=i1,i2 
     333               tabres_child(ji,jj,:,:) = 0._wp  
    334334               N_in = 0 
    335335               DO jk=k1,k2 !k2 = jpk of parent grid 
     
    345345                  h_out(jk) = e3t_b(ji,jj,jk) !Child grid scale factors. Could multiply by e1e2t here instead of division above 
    346346               ENDDO 
    347                IF (N_in > 0) THEN 
     347               IF (N_in*N_out > 0) THEN 
    348348                  CALL reconstructandremap(tabin(1:N_in,1:jpts),h_in(1:N_in),tabres_child(ji,jj,1:N_out,1:jpts),h_out(1:N_out),N_in,N_out,jpts) 
    349349               ENDIF 
     
    438438      ! 
    439439      IF( before ) THEN 
    440          DO jk=1,jpkm1 
     440         DO jk=k1,k2 
    441441            DO jj=j1,j2 
    442442               DO ji=i1,i2 
     
    591591       
    592592      IF( before ) THEN  
    593          DO jk=1,jpkm1 
     593         DO jk=k1,k2 
    594594            DO jj=j1,j2 
    595595               DO ji=i1,i2 
  • NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_update.F90

    r11607 r11625  
    288288      REAL(wp) :: h_in(k1:k2) 
    289289      REAL(wp) :: h_out(1:jpk) 
    290       REAL(wp) :: tabin(k1:k2,jpts) 
     290      REAL(wp) :: tabin(k1:k2,1:jpts) 
    291291      REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk,1:jpts) :: tabres_child 
    292292      !!--------------------------------------------- 
     
    330330                  h_out(N_out) = e3t_n(ji,jj,jk)  
    331331               ENDDO 
    332                IF (N_in > 0) THEN !Remove this? 
     332               IF (N_in*N_out > 0) THEN !Remove this? 
    333333                  CALL reconstructandremap(tabin(1:N_in,1:jpts),h_in(1:N_in),tabres_child(ji,jj,1:N_out,1:jpts),h_out(1:N_out),N_in,N_out,jpts) 
    334334               ENDIF 
  • NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_top_interp.F90

    r11610 r11625  
    6262 
    6363      ! vertical interpolation: 
    64       REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk,n1:n2) :: ptab_child 
    65       REAL(wp), DIMENSION(k1:k2,n1:n2-1) :: tabin 
     64      REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk,1:jptra) :: ptab_child 
     65      REAL(wp), DIMENSION(k1:k2,1:jptra) :: tabin 
    6666      REAL(wp), DIMENSION(k1:k2) :: h_in 
    6767      REAL(wp), DIMENSION(1:jpk) :: h_out 
     
    9393         DO jj=j1,j2 
    9494            DO ji=i1,i2 
     95               ptab_child(ji,jj,:) = 0._wp 
    9596               N_in = 0 
    9697               DO jk=k1,k2 !k2 = jpk of parent grid 
  • NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_top_sponge.F90

    r11610 r11625  
    6868      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
    6969      REAL(wp) ::   zabe1, zabe2 
    70       REAL(wp), DIMENSION(i1:i2,j1:j2)             ::   ztu, ztv 
    71       REAL(wp), DIMENSION(i1:i2,j1:j2,k1:k2,n1:n2) ::   trbdiff 
     70      REAL(wp), DIMENSION(i1:i2,j1:j2)               ::   ztu, ztv 
     71      REAL(wp), DIMENSION(i1:i2,j1:j2,k1:k2,1:jptra) ::   trbdiff 
    7272      ! vertical interpolation: 
    73       REAL(wp), DIMENSION(i1:i2,j1:j2,jpk,n1:n2) ::tabres_child 
    74       REAL(wp), DIMENSION(k1:k2,n1:n2-1) :: tabin 
     73      REAL(wp), DIMENSION(i1:i2,j1:j2,jpk,1:jptra) ::tabres_child 
     74      REAL(wp), DIMENSION(k1:k2,1:jptra) :: tabin 
    7575      REAL(wp), DIMENSION(k1:k2) :: h_in 
    7676      REAL(wp), DIMENSION(1:jpk) :: h_out 
  • NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_top_update.F90

    r11610 r11625  
    7070      INTEGER  :: N_in, N_out 
    7171      REAL(wp) :: h_diff 
    72       REAL(wp) :: tabin(k1:k2,n1:n2) 
     72      REAL(wp) :: tabin(k1:k2,1:jptra) 
    7373      REAL(wp), DIMENSION(i1:i2,j1:j2,1:jpk,1:jptra) :: tabres_child 
    7474      !!--------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.