Why are we doing this twice in the code? I dont see the logic in this
|
call tracer_gradient_elements(tracers%data(tr_num)%values, partit, mesh) |
|
call tracer_gradient_elements(tracers%data(tr_num)%values, partit, mesh) !redefine tr_arr to the current timestep |
|
call tracer_gradient_elements(tracers%data(tr_num)%values, partit, mesh) |
|
call exchange_elem_begin(tr_xy, partit) |
|
|
|
if (flag_debug .and. partit%mype==0) print *, achar(27)//'[38m'//' --> call tracer_gradient_z'//achar(27)//'[0m' |
|
call tracer_gradient_z(tracers%data(tr_num)%values, partit, mesh) !WHY NOT AB HERE? DSIDOREN! |
|
call exchange_elem_end(partit) ! tr_xy used in fill_up_dn_grad |
|
!$OMP BARRIER |
|
|
|
call exchange_nod_begin(tr_z, partit) ! not used in fill_up_dn_grad |
|
|
|
if (flag_debug .and. partit%mype==0) print *, achar(27)//'[38m'//' --> call fill_up_dn_grad'//achar(27)//'[0m' |
|
call fill_up_dn_grad(tracers%work, partit, mesh) |
|
call exchange_nod_end(partit) ! tr_z halos should have arrived by now. |
|
|
|
if (flag_debug .and. partit%mype==0) print *, achar(27)//'[38m'//' --> call tracer_gradient_elements'//achar(27)//'[0m' |
|
call tracer_gradient_elements(tracers%data(tr_num)%values, partit, mesh) !redefine tr_arr to the current timestep |
Why are we doing this twice in the code? I dont see the logic in this
fesom2/src/oce_tracer_mod.F90
Line 127 in 1b58e7f
fesom2/src/oce_tracer_mod.F90
Line 142 in 1b58e7f
fesom2/src/oce_tracer_mod.F90
Lines 127 to 142 in 1b58e7f