Changeset 14218 for NEMO/trunk/src/NST/agrif_top_interp.F90
- Timestamp:
- 2020-12-18T17:44:52+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/NST/agrif_top_interp.F90
r14148 r14218 120 120 ! Build vertical grids: 121 121 N_in = mbkt_parent(ji,jj) 122 ! Input grid (account for partial cells if any): 123 DO jk=1,N_in 124 z_in(jk) = ptab(ji,jj,jk,n2) - ptab(ji,jj,k2,n2) 125 tabin(jk,1:jptra) = ptab(ji,jj,jk,1:jptra) 126 END DO 122 N_out = mbkt(ji,jj) 123 IF (N_in*N_out > 0) THEN 124 ! Input grid (account for partial cells if any): 125 DO jk=1,N_in 126 z_in(jk) = ptab(ji,jj,jk,n2) - ptab(ji,jj,k2,n2) 127 tabin(jk,1:jptra) = ptab(ji,jj,jk,1:jptra) 128 END DO 127 129 128 ! Intermediate grid: 129 IF ( l_vremap ) THEN 130 DO jk = 1, N_in 131 h_in_i(jk) = e3t0_parent(ji,jj,jk) * & 132 & (1._wp + ptab(ji,jj,k2,n2)/(ht0_parent(ji,jj)*ssmask(ji,jj) + 1._wp - ssmask(ji,jj))) 133 END DO 134 z_in_i(1) = 0.5_wp * h_in_i(1) 135 DO jk=2,N_in 136 z_in_i(jk) = z_in_i(jk-1) + 0.5_wp * ( h_in_i(jk) + h_in_i(jk-1) ) 137 END DO 138 z_in_i(1:N_in) = z_in_i(1:N_in) - ptab(ji,jj,k2,n2) 139 ENDIF 140 141 ! Output (Child) grid: 142 N_out = mbkt(ji,jj) 143 DO jk=1,N_out 144 h_out(jk) = e3t(ji,jj,jk,Krhs_a) 145 END DO 146 z_out(1) = 0.5_wp * h_out(1) 147 DO jk=2,N_out 148 z_out(jk) = z_out(jk-1) + 0.5_wp * ( h_out(jk)+h_out(jk-1) ) 149 END DO 150 IF (.NOT.ln_linssh) z_out(1:N_out) = z_out(1:N_out) - ssh(ji,jj,Krhs_a) 151 152 IF (N_in*N_out > 0) THEN 130 ! Intermediate grid: 131 IF ( l_vremap ) THEN 132 DO jk = 1, N_in 133 h_in_i(jk) = e3t0_parent(ji,jj,jk) * & 134 & (1._wp + ptab(ji,jj,k2,n2)/(ht0_parent(ji,jj)*ssmask(ji,jj) + 1._wp - ssmask(ji,jj))) 135 END DO 136 z_in_i(1) = 0.5_wp * h_in_i(1) 137 DO jk=2,N_in 138 z_in_i(jk) = z_in_i(jk-1) + 0.5_wp * ( h_in_i(jk) + h_in_i(jk-1) ) 139 END DO 140 z_in_i(1:N_in) = z_in_i(1:N_in) - ptab(ji,jj,k2,n2) 141 ENDIF 142 143 ! Output (Child) grid: 144 DO jk=1,N_out 145 h_out(jk) = e3t(ji,jj,jk,Krhs_a) 146 END DO 147 z_out(1) = 0.5_wp * h_out(1) 148 DO jk=2,N_out 149 z_out(jk) = z_out(jk-1) + 0.5_wp * ( h_out(jk)+h_out(jk-1) ) 150 END DO 151 IF (.NOT.ln_linssh) z_out(1:N_out) = z_out(1:N_out) - ssh(ji,jj,Krhs_a) 152 153 153 IF( l_ini_child ) THEN 154 154 CALL remap_linear(tabin(1:N_in,1:jptra),z_in(1:N_in),tr(ji,jj,1:N_out,1:jptra,Krhs_a), &
Note: See TracChangeset
for help on using the changeset viewer.