Page 1 Source Listing CALC_ENSEMBLE_SPREAD 2022-05-02 15:46 calcspread.f 1 program calc_ensemble_spread 2 c 3 c read in ensemble perturbation and calculate the spread 4 c programmer: Yucheng Song 5 6 real,allocatable::datas(:,:,:,:) 7 real,allocatable::var(:,:,:) 8 real,allocatable::varuv(:,:) 9 real,allocatable::varuvt(:,:) 10 real,allocatable::varsfc(:,:) 11 12 real uvsq,uv850sq,prcpsq,mslpsq,z500sq 13 real uvsd,uv850sd,prcpsd,mslpsd,z500sd 14 15 read(5,*)idim,jdim,mem,memrf,memec,memcm,nv,mintint,maxtint 16 17 allocate(datas(idim,jdim,mem,nv)) 18 allocate(var(idim,jdim,nv)) 19 allocate(varuv(idim,jdim)) 20 allocate(varuvt(idim,jdim)) 21 allocate(varsfc(idim,jdim)) 22 23 do 133 kkk=mintint,maxtint 24 25 read(1500+kkk) datas 26 close(1500+kkk) 27 28 do 10 iv=1,nv 29 do 10 i=1,idim 30 do 10 j=1,jdim 31 var(i,j,iv)=0.0 32 do 20 nm=1,mem 33 var(i,j,iv)=var(i,j,iv)+datas(i,j,nm,iv)**2 34 20 continue 35 var(i,j,iv)=var(i,j,iv)/float(mem) 36 10 continue 37 38 do 15 i=1,idim 39 do 15 j=1,jdim 40 uvsq = uvsq + var(i,j,1) + var(i,j,2) + 41 & var(i,j,3) + var(i,j,4) + 42 & var(i,j,5) + var(i,j,6) 43 uv850sq = uv850sq + var(i,j,1) + var(i,j,2) 44 prcpsq = prcpsq + var(i,j,10) 45 mslpsq = mslpsq + var(i,j,11) 46 z500sq = z500sq + var(i,j,12) 47 15 continue 48 49 uvsd = sqrt(uvsq/float(6*idim*jdim*mem)) 50 uv850sd = sqrt(uv850sq/float(2*idim*jdim*mem)) 51 prcpsd = sqrt(prcpsq/float(idim*jdim*mem)) 52 mslpsd = sqrt(mslpsq/float(idim*jdim*mem)) 53 z500sd = sqrt(z500sq/float(idim*jdim*mem)) 54 55 do 603 i=1,idim,2 56 do 603 j=1,jdim,2 57 Page 2 Source Listing CALC_ENSEMBLE_SPREAD 2022-05-02 15:46 calcspread.f 58 c *** Spread of horizontal wind cpts averaged over 3 levels *** 59 varuv(i,j)=var(i,j,1)+var(i,j,2)+var(i,j,3)+ 60 & var(i,j,4)+var(i,j,5)+var(i,j,6) 61 write(1600+kkk,666) i,j,sqrt(varuv(i,j)/3.0) 62 63 c *** Spread of kinetic energy averaged over 3 levels *** 64 varuvt(i,j)=0.5*( var(i,j,1)+var(i,j,2)+var(i,j,3)+ 65 & var(i,j,4)+var(i,j,5)+var(i,j,6) ) + 66 & 3.346*( var(i,j,7)+var(i,j,8)+var(i,j,9) ) 67 write(1620+kkk,666) i,j,sqrt(varuvt(i,j)/3.0) 68 69 c *** Spread of surface variables *** 70 varsfc(i,j)=(var(i,j,1)+var(i,j,2))/(uv850sd**2) + 71 & var(i,j,10)/(prcpsd**2)+var(i,j,12)/(mslpsd**2) 72 write(1640+kkk,666) i,j,sqrt(varsfc(i,j)) 73 74 603 continue 75 76 133 continue 77 78 666 format(2i5,f8.3) 79 80 c 20121011 rlw return ==> stop for ifort 81 c return 82 stop 83 end ENTRY POINTS Name MAIN__ Page 3 Source Listing CALC_ENSEMBLE_SPREAD 2022-05-02 15:46 Symbol Table calcspread.f SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 10 Label 36 28,29,30 133 Label 76 23 15 Label 47 38,39 20 Label 34 32 603 Label 74 55,56 666 Label 78 61,67,72 CALC_ENSEMBLE_SPREAD Prog 1 DATAS Local 6 R(4) 4 4 1 ALC 17,25,33 FLOAT Func 35 scalar 35,49,50,51,52,53 I Local 29 I(4) 4 scalar 29,31,33,35,38,40,41,42,43,44,45,4 6,55,59,60,61,64,65,66,67,70,71,72 IDIM Local 15 I(4) 4 scalar 15,17,18,19,20,21,29,38,49,50,51,5 2,53,55 IV Local 28 I(4) 4 scalar 28,31,33,35 J Local 30 I(4) 4 scalar 30,31,33,35,39,40,41,42,43,44,45,4 6,56,59,60,61,64,65,66,67,70,71,72 JDIM Local 15 I(4) 4 scalar 15,17,18,19,20,21,30,39,49,50,51,5 2,53,56 KKK Local 23 I(4) 4 scalar 23,25,26,61,67,72 MAXTINT Local 15 I(4) 4 scalar 15,23 MEM Local 15 I(4) 4 scalar 15,17,32,35,49,50,51,52,53 MEMCM Local 15 I(4) 4 scalar 15 MEMEC Local 15 I(4) 4 scalar 15 MEMRF Local 15 I(4) 4 scalar 15 MINTINT Local 15 I(4) 4 scalar 15,23 MSLPSD Local 13 R(4) 4 scalar 52,71 MSLPSQ Local 12 R(4) 4 scalar 45,52 NM Local 32 I(4) 4 scalar 32,33 NV Local 15 I(4) 4 scalar 15,17,18,28 PRCPSD Local 13 R(4) 4 scalar 51,71 PRCPSQ Local 12 R(4) 4 scalar 44,51 SQRT Func 49 scalar 49,50,51,52,53,61,67,72 UV850SD Local 13 R(4) 4 scalar 50,70 UV850SQ Local 12 R(4) 4 scalar 43,50 UVSD Local 13 R(4) 4 scalar 49 UVSQ Local 12 R(4) 4 scalar 40,49 VAR Local 7 R(4) 4 3 1 ALC 18,31,33,35,40,41,42,43,44,45,46,5 9,60,64,65,66,70,71 VARSFC Local 10 R(4) 4 2 1 ALC 21,70,72 VARUV Local 8 R(4) 4 2 1 ALC 19,59,61 VARUVT Local 9 R(4) 4 2 1 ALC 20,64,67 Z500SD Local 13 R(4) 4 scalar 53 Z500SQ Local 12 R(4) 4 scalar 46,53 Page 4 Source Listing CALC_ENSEMBLE_SPREAD 2022-05-02 15:46 Subprograms/Common Blocks calcspread.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CALC_ENSEMBLE_SPREAD Prog 1 COMPILER OPTIONS BEING USED -align noall -align nonone -align nocommons -align nodcommons -align noqcommons -align nozcommons -align records -align sequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -align norec32byte -align norec64byte -align noarray8byte -align noarray16byte -align noarray32byte -align noarray64byte -align noarray128byte -align noarray256byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume nobuffered_stdout -assume byterecl -assume nocontiguous_assumed_shape -assume nocontiguous_pointer -assume nocc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_complex_align -assume old_unit_star -assume old_inquire_recl -assume old_ldout_format -assume old_ldout_zero -assume noold_logical_assign -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume noprotect_allocates -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume std_minus0_rounding -assume nostd_mod_proc_name -assume std_value -assume realloc_lhs -assume underscore -assume no2underscores -assume norecursion no -auto -auto_scalar no -bintext -ccdefault default -check noarg_temp_created -check noassume -check nobounds -check nocontiguous -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check noshape -check nostack -check nouninitialized -check noudio_iostat -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1910 -D __INTEL_COMPILER_UPDATE=3 -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D __amd64 -D __amd64__ -D __INTEL_COMPILER_BUILD_DATE=20200925 -D __INTEL_OFFLOAD Page 5 Source Listing CALC_ENSEMBLE_SPREAD 2022-05-02 15:46 calcspread.f -D __MMX__ -D __SSE__ -D __SSE_MATH__ -D __SSE2__ -D __SSE2_MATH__ -D __SSE3__ -D __SSSE3__ -D __SSE4_1__ -D __SSE4_2__ -D __POPCNT__ -D __PCLMUL__ -D __AES__ -D __AVX__ -D __F16C__ -D __AVX_I__ -D __RDRND__ -D __FMA__ -D __FP_FAST_FMA -D __FP_FAST_FMAF -D __BMI__ -D __LZCNT__ -D __AVX2__ -D __haswell -D __haswell__ -D __tune_haswell__ -D __core_avx2 -D __core_avx2__ -D __tune_core_avx2__ -double_size 64 no -d_lines no -Qdyncom -error_limit 30 no -f66 no -f77rtl no -fast -fpscomp nofilesfromcmd -fpscomp nogeneral -fpscomp noioformat -fpscomp noldio_spacing -fpscomp nologicals -fixed no -fpconstant -fpe3 -fprm nearest -ftz -fp_model precise -fp_model nofast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -fp_modbits nofp_contract -fp_modbits nono_fp_contract -fp_modbits nofenv_access -fp_modbits nono_fenv_access -fp_modbits nocx_limited_range -fp_modbits nono_cx_limited_range -fp_modbits noprec_div -fp_modbits no_prec_div -fp_modbits noprec_sqrt -fp_modbits no_prec_sqrt -fp_modbits ftz -fp_modbits nono_ftz -fp_modbits nointrin_limited_range -fp_modbits nono_intrin_limited_range -fp_modbits notrunc_compares -fp_modbits nono_trunc_compares -fp_modbits noieee_nan_compares -fp_modbits nono_ieee_nan_compares -fp_modbits nohonor_f32_conversion -fp_modbits nono_honor_f32_conversion -fp_modbits nohonor_f64_conversion -fp_modbits nono_honor_f64_conversion -fp_modbits nono_x87_copy -fp_modbits nono_no_x87_copy -fp_modbits noexception_semantics -fp_modbits nono_exception_semantics -fp_modbits noprecise_libm_functions -fp_modbits no_precise_libm_functions -heap_arrays 0 no -threadprivate_compat -g0 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg -init noarrays -init nohuge -init noinfinity -init nominus_huge -init nominus_infinity -init nominus_tiny -init nonan -init nosnan -init notiny -init nozero no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude no -o -offload-build=host -openmp-simd -O3 no -pad_source -real_size 32 no -recursive -reentrancy threaded -vec=simd -show nofullpath -show noinclude Page 6 Source Listing CALC_ENSEMBLE_SPREAD 2022-05-02 15:46 calcspread.f -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w nodeclarations -w noexternals -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w noshape -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage no -wrap-margins -includepath : /pe/intel/compilers_and_libraries_2020.4.304/linux/mkl/include/,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/icc/, /usr/include/,./,/opt/cray/pe/mpich/8.1.9/ofi/intel/19.0/include/,/opt/cray/pe/libsci/21.08.1.2/INTEL/19.0/x86_64/include/, /pe/intel/compilers_and_libraries_2020.4.304/linux/ipp/include/,/pe/intel/compilers_and_libraries_2020.4.304/linux/mkl/include/, /pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/include/,/pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/stdlib/, /pe/intel/compilers_and_libraries_2020.4.304/linux/tbb/include/,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/intel64/, /pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/icc/,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/, /usr/lib64/gcc/x86_64-suse-linux/7/include/,/usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/,/usr/include/, /usr/include/,/usr/include/ -list filename : calcspread.lst no -o COMPILER: Intel(R) Fortran 19.1-1655