Page 1 Source Listing READIN 2022-05-02 15:46 readin.f 1 c ********************************************************************** 2 c ********************************************************************** 3 c ************* READ IN NCEP, ECMWF AND CANADIAN ENSEMBLES ************* 4 c ***********************Updated by Yucheng Song 2006.12.08 *********** 5 c ********************************************************************** 6 c ********************************************************************** 7 c 3456789012345678901234567890123456789012345678901234567890123456789012 8 c Document 9 c mem1 is the number of ensembles for each cycle 10 c mem0 is the total number 11 12 program readin 13 c 20121012 rlw substitute inline for MACHINE 14 15 c USE MACHINE, ONLY: kind_io4 16 use machine 17 c real(kind=kind_io4),allocatable::field(:,:) 18 c real(kind=kind_io4),allocatable::field(:,:) 19 real,allocatable::field(:,:) 20 real,allocatable::vble(:,:,:,:) 21 22 c ******************************* 23 c *** Read in ensemble parameters 24 c ******************************* 25 read(5,*)iens,ltime,mem1,mem0,nvv,idim,jdim 26 allocate(field(idim,jdim)) 27 allocate(vble(idim,jdim,mem0,nvv)) 28 c Calculating ensemble perturbations at targeting and verification times 29 print*, 'READING ENSEMBLE DATA' 30 31 mem2=2*mem1 32 mem3=3*mem1 33 mem4=4*mem1 34 35 do 10 nm=1,mem0 36 37 if (iens.eq.1) then 38 if (nm.le.mem1) then 39 ifile=10000+(nm-1) 40 else if (nm.le.mem2) then 41 ifile=20000+(nm-1)-mem1 42 else if (nm.le.mem3) then 43 ifile=30000+(nm-1)-mem2 44 else if (nm.le.mem4) then 45 ifile=40000+(nm-1)-mem3 46 endif 47 endif 48 49 if (iens.eq.2) then 50 if (nm.le.mem1) then 51 ifile=10000+(nm-1) 52 endif 53 endif 54 55 if (iens.eq.3) then 56 if (nm.le.mem1) then 57 ifile=10000+(nm-1) Page 2 Source Listing READIN 2022-05-02 15:46 readin.f 58 else if (nm.le.mem2) then 59 ifile=30000+(nm-1)-mem1 60 endif 61 endif 62 63 do 20 ivar=1,nvv 64 open(ifile,form='formatted') 65 if (ivar.eq.10) 66 & print*, '(Example):Reading from file ',ifile,' ens. member',nm 67 c No APCP at f00 68 if (ivar.eq.10.and.nm.le.mem1.and.ltime.eq.0) then 69 do 21 j=1,jdim 70 do 21 i=1,idim 71 vble(i,j,nm,ivar)=0.0 72 21 continue 73 else 74 read(ifile,*) idummy,jdummy 75 do 30 j=1,jdim 76 do 30 i=1,idim 77 read(ifile,*) field(i,j) 78 vble(i,j,nm,ivar)=field(i,j) 79 30 continue 80 endif 81 c print*, "vble(35,60,2,1)=",vble(35,60,2,1) 82 83 close(ifile) 84 ifile=ifile+500 85 20 continue 86 87 10 continue 88 89 90 open(112,file='vble.dat',form='unformatted') 91 write(112) vble 92 close(112) 93 94 c 20121012 rlw return ==> stop for ifort 95 c return 96 stop 97 end Page 3 Source Listing READIN 2022-05-02 15:46 Entry Points readin.f ENTRY POINTS Name MAIN__ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 10 Label 87 35 20 Label 85 63 21 Label 72 69,70 30 Label 79 75,76 FIELD Local 19 R(4) 4 2 1 ALC 26,77,78 I Local 70 I(4) 4 scalar 70,71,76,77,78 IDIM Local 25 I(4) 4 scalar 25,26,27,70,76 IDUMMY Local 74 I(4) 4 scalar 74 IENS Local 25 I(4) 4 scalar 25,37,49,55 IFILE Local 39 I(4) 4 scalar 39,41,43,45,51,57,59,64,66,74,77,8 3,84 IVAR Local 63 I(4) 4 scalar 63,65,68,71,78 J Local 69 I(4) 4 scalar 69,71,75,77,78 JDIM Local 25 I(4) 4 scalar 25,26,27,69,75 JDUMMY Local 74 I(4) 4 scalar 74 LTIME Local 25 I(4) 4 scalar 25,68 MACHINE Module 16 16 MEM0 Local 25 I(4) 4 scalar 25,27,35 MEM1 Local 25 I(4) 4 scalar 25,31,32,33,38,41,50,56,59,68 MEM2 Local 31 I(4) 4 scalar 31,40,43,58 MEM3 Local 32 I(4) 4 scalar 32,42,45 MEM4 Local 33 I(4) 4 scalar 33,44 NM Local 35 I(4) 4 scalar 35,38,39,40,41,42,43,44,45,50,51,5 6,57,58,59,66,68,71,78 NVV Local 25 I(4) 4 scalar 25,27,63 READIN Prog 12 VBLE Local 20 R(4) 4 4 1 ALC 27,71,78,91 Page 4 Source Listing READIN 2022-05-02 15:46 Subprograms/Common Blocks readin.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References READIN Prog 12 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 READIN 2022-05-02 15:46 readin.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 READIN 2022-05-02 15:46 readin.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 : readin.lst no -o COMPILER: Intel(R) Fortran 19.1-1655