Skip to content
Snippets Groups Projects
Commit 46c819e0 authored by Antoine Cyril David Hoffmann's avatar Antoine Cyril David Hoffmann
Browse files

simplification of the code

parent 607caa60
No related branches found
No related tags found
No related merge requests found
...@@ -12,6 +12,7 @@ PUBLIC :: apply_closure_model ...@@ -12,6 +12,7 @@ PUBLIC :: apply_closure_model
CONTAINS CONTAINS
! Positive Oob indices are approximated with a model
SUBROUTINE apply_closure_model SUBROUTINE apply_closure_model
IMPLICIT NONE IMPLICIT NONE
complex(dp) :: i_kz complex(dp) :: i_kz
...@@ -27,46 +28,80 @@ SUBROUTINE apply_closure_model ...@@ -27,46 +28,80 @@ SUBROUTINE apply_closure_model
sqpp1p_i = SQRT((pmaxi_dp+1)*(pmaxi_dp)) sqpp1p_i = SQRT((pmaxi_dp+1)*(pmaxi_dp))
CALL cpu_time(t0_clos) CALL cpu_time(t0_clos)
! Positive Oob indices are approximated with a model ! zero truncation, An+1=0 for n+1>nmax
IF (CLOS .EQ. 0) THEN IF (CLOS .EQ. 0) THEN
! zero truncation, An+1=0 for n+1>nmax DO ikr = ikrs,ikre
DO ikr = ikrs,ikre DO ikz = ikzs,ikze
DO ikz = ikzs,ikze
DO ip = ipsg_e,ipeg_e DO ip = ipsg_e,ipeg_e
moments_e(ip,ijsg_e,ikr,ikz,updatetlevel) = 0._dp moments_e(ip,ijsg_e,ikr,ikz,updatetlevel) = 0._dp
moments_e(ip,ijeg_e,ikr,ikz,updatetlevel) = 0._dp moments_e(ip,ijeg_e,ikr,ikz,updatetlevel) = 0._dp
ENDDO ENDDO
DO ij = ijsg_e,ijeg_e DO ij = ijsg_e,ijeg_e
moments_e(ipsg_e+1,ij,ikr,ikz,updatetlevel) = 0._dp moments_e(ipsg_e+1,ij,ikr,ikz,updatetlevel) = 0._dp
moments_e(ipsg_e ,ij,ikr,ikz,updatetlevel) = 0._dp moments_e(ipsg_e ,ij,ikr,ikz,updatetlevel) = 0._dp
moments_e(ipeg_e-1,ij,ikr,ikz,updatetlevel) = 0._dp moments_e(ipeg_e-1,ij,ikr,ikz,updatetlevel) = 0._dp
moments_e(ipeg_e ,ij,ikr,ikz,updatetlevel) = 0._dp moments_e(ipeg_e ,ij,ikr,ikz,updatetlevel) = 0._dp
ENDDO ENDDO
kernel_e(ijsg_e,ikr,ikz) = 0._dp kernel_e(ijsg_e,ikr,ikz) = 0._dp
kernel_e(ijeg_e,ikr,ikz) = 0._dp kernel_e(ijeg_e,ikr,ikz) = 0._dp
DO ip = ipsg_i,ipeg_i
moments_i(ip,ijsg_i,ikr,ikz,updatetlevel) = 0._dp
moments_i(ip,ijeg_i,ikr,ikz,updatetlevel) = 0._dp
ENDDO
DO ij = ijsg_i,ijeg_i
moments_i(ipsg_i+1,ij,ikr,ikz,updatetlevel) = 0._dp
moments_i(ipsg_i ,ij,ikr,ikz,updatetlevel) = 0._dp
moments_i(ipeg_i-1,ij,ikr,ikz,updatetlevel) = 0._dp
moments_i(ipeg_i ,ij,ikr,ikz,updatetlevel) = 0._dp
ENDDO
kernel_i(ijsg_i,ikr,ikz) = 0._dp
kernel_i(ijeg_i,ikr,ikz) = 0._dp
ENDDO
ENDDO
DO ip = ipsg_i,ipeg_i ! zero truncation, An+1=0 for n+1>nmax
moments_i(ip,ijsg_i,ikr,ikz,updatetlevel) = 0._dp ELSEIF (CLOS .EQ. 1) THEN
moments_i(ip,ijeg_i,ikr,ikz,updatetlevel) = 0._dp DO ikr = ikrs,ikre
ENDDO DO ikz = ikzs,ikze
DO ij = ijsg_i,ijeg_i
moments_i(ipsg_i+1,ij,ikr,ikz,updatetlevel) = 0._dp
moments_i(ipsg_i ,ij,ikr,ikz,updatetlevel) = 0._dp
moments_i(ipeg_i-1,ij,ikr,ikz,updatetlevel) = 0._dp
moments_i(ipeg_i ,ij,ikr,ikz,updatetlevel) = 0._dp
ENDDO
kernel_i(ijsg_i,ikr,ikz) = 0._dp
kernel_i(ijeg_i,ikr,ikz) = 0._dp
DO ip = ipsg_e,ipeg_e
moments_e(ip,ijsg_e,ikr,ikz,updatetlevel) = 0._dp
moments_e(ip,ijeg_e,ikr,ikz,updatetlevel) = 0._dp
ENDDO ENDDO
DO ij = ijsg_e,ijeg_e
moments_e(ipsg_e+1,ij,ikr,ikz,updatetlevel) = 0._dp
moments_e(ipsg_e ,ij,ikr,ikz,updatetlevel) = 0._dp
moments_e(ipeg_e-1,ij,ikr,ikz,updatetlevel) = 0._dp
moments_e(ipeg_e ,ij,ikr,ikz,updatetlevel) = 0._dp
ENDDO
kernel_e(ijsg_e,ikr,ikz) = 0._dp
kernel_e(ijeg_e,ikr,ikz) = 0._dp
DO ip = ipsg_i,ipeg_i
moments_i(ip,ijsg_i,ikr,ikz,updatetlevel) = 0._dp
moments_i(ip,ijeg_i,ikr,ikz,updatetlevel) = 0._dp
ENDDO
DO ij = ijsg_i,ijeg_i
moments_i(ipsg_i+1,ij,ikr,ikz,updatetlevel) = 0._dp
moments_i(ipsg_i ,ij,ikr,ikz,updatetlevel) = 0._dp
moments_i(ipeg_i-1,ij,ikr,ikz,updatetlevel) = 0._dp
moments_i(ipeg_i ,ij,ikr,ikz,updatetlevel) = 0._dp
ENDDO
kernel_i(ijsg_i,ikr,ikz) = 0._dp
kernel_i(ijeg_i,ikr,ikz) = 0._dp
ENDDO ENDDO
ELSE ENDDO
if(my_id .EQ. 0) write(*,*) '! Closure scheme not found !' ELSE
if(my_id .EQ. 0) write(*,*) '! Closure scheme not found !'
ENDIF
ENDIF CALL cpu_time(t1_clos)
tc_clos = tc_clos + (t1_clos - t0_clos)
END SUBROUTINE apply_closure_model
CALL cpu_time(t1_clos)
tc_clos = tc_clos + (t1_clos - t0_clos)
END SUBROUTINE apply_closure_model
END module closure END module closure
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment