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 14170 for NEMO/trunk/src/NST/agrif_top_sponge.F90 – NEMO

Ignore:
Timestamp:
2020-12-14T19:43:17+01:00 (4 years ago)
Author:
jchanut
Message:

#2222, 2129: 1) Corrected ssh initialization from parent in line with what has been introduced by Sibylle 2) Fixed bug in dyn interp with expliciit free surface 3) Added check on number of levels in child grid without vertical remapping (must be < jpk_parent) 4) Removed the constrain on initialization from parent only when starting from climatology (requires Euler first step though).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/NST/agrif_top_sponge.F90

    r14148 r14170  
    130130                  N_in = mbkt_parent(ji,jj) 
    131131                  ! Input grid (account for partial cells if any): 
    132                   DO jk=1,N_in 
    133                      z_in(jk) = tabres(ji,jj,jk,n2) - tabres(ji,jj,k2,n2) 
    134                      tabin(jk,1:jptra) = tabres(ji,jj,jk,1:jptra) 
    135                   END DO 
     132                  IF ( N_in > 0 ) THEN  
     133                     DO jk=1,N_in 
     134                        z_in(jk) = tabres(ji,jj,jk,n2) - tabres(ji,jj,k2,n2) 
     135                        tabin(jk,1:jptra) = tabres(ji,jj,jk,1:jptra) 
     136                     END DO 
    136137                   
    137                   ! Intermediate grid: 
    138                   DO jk = 1, N_in 
    139                      h_in_i(jk) = e3t0_parent(ji,jj,jk) * &  
    140                        &       (1._wp + tabres(ji,jj,k2,n2)/(ht0_parent(ji,jj)*ssmask(ji,jj) + 1._wp - ssmask(ji,jj))) 
    141                   END DO 
    142                   z_in_i(1) = 0.5_wp * h_in_i(1) 
    143                   DO jk=2,N_in 
    144                      z_in_i(jk) = z_in_i(jk-1) + 0.5_wp * ( h_in_i(jk) + h_in_i(jk-1) ) 
    145                   END DO 
    146                   z_in_i(1:N_in) = z_in_i(1:N_in)  - tabres(ji,jj,k2,n2) 
    147  
     138                     ! Intermediate grid: 
     139                     DO jk = 1, N_in 
     140                        h_in_i(jk) = e3t0_parent(ji,jj,jk) * &  
     141                          &       (1._wp + tabres(ji,jj,k2,n2)/(ht0_parent(ji,jj)*ssmask(ji,jj) + 1._wp - ssmask(ji,jj))) 
     142                     END DO 
     143                     z_in_i(1) = 0.5_wp * h_in_i(1) 
     144                     DO jk=2,N_in 
     145                        z_in_i(jk) = z_in_i(jk-1) + 0.5_wp * ( h_in_i(jk) + h_in_i(jk-1) ) 
     146                     END DO 
     147                     z_in_i(1:N_in) = z_in_i(1:N_in)  - tabres(ji,jj,k2,n2) 
     148                  END IF 
    148149                  ! Output (Child) grid: 
    149150                  N_out = mbkt(ji,jj) 
Note: See TracChangeset for help on using the changeset viewer.