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
CONTAINS
! Positive Oob indices are approximated with a model
SUBROUTINE apply_closure_model
IMPLICIT NONE
complex(dp) :: i_kz
......@@ -27,46 +28,80 @@ SUBROUTINE apply_closure_model
sqpp1p_i = SQRT((pmaxi_dp+1)*(pmaxi_dp))
CALL cpu_time(t0_clos)
! Positive Oob indices are approximated with a model
IF (CLOS .EQ. 0) THEN
! zero truncation, An+1=0 for n+1>nmax
DO ikr = ikrs,ikre
DO ikz = ikzs,ikze
! zero truncation, An+1=0 for n+1>nmax
IF (CLOS .EQ. 0) THEN
DO ikr = ikrs,ikre
DO ikz = ikzs,ikze
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
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_e,ipeg_e
moments_e(ip,ijsg_e,ikr,ikz,updatetlevel) = 0._dp
moments_e(ip,ijeg_e,ikr,ikz,updatetlevel) = 0._dp
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
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
! zero truncation, An+1=0 for n+1>nmax
ELSEIF (CLOS .EQ. 1) THEN
DO ikr = ikrs,ikre
DO ikz = ikzs,ikze
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
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
ELSE
if(my_id .EQ. 0) write(*,*) '! Closure scheme not found !'
ENDDO
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment