Page 1 Source Listing READIN 2013-05-14 19:53 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 2013-05-14 19:53 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 2013-05-14 19:53 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 2013-05-14 19:53 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 nocommons -align nodcommons -align noqcommons -align records -align nosequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume byterecl -assume nocc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_unit_star -assume old_ldout_format -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume nostd_mod_proc_name -assume norealloc_lhs -assume underscore -assume no2underscores no -auto -auto_scalar no -bintext -ccdefault default -check noargs -check noarg_temp_created -check nobounds -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check power -check noshape -check nounderflow -check nouninitialized -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1210 -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D _MT -D __INTEL_COMPILER_BUILD_DATE=20120612 -D __i686 -D __i686__ -D __pentiumpro -D __pentiumpro__ -D __pentium4 -D __pentium4__ -D __tune_pentium4__ -D __SSE2__ -D __SSE__ -D __MMX__ -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 Page 5 Source Listing READIN 2013-05-14 19:53 readin.f no -ftz -fp_model noprecise -fp_model fast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -heap_arrays 0 no -threadprivate_compat -g0 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude -O2 no -pad_source -real_size 32 no -recursive -reentrancy none no -sharable_localsaves -vec=simd -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w noargument_checking -w nodeclarations -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage -includepath : /gpfs/gp2/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/,.f,./.f,/usrx/local/intel/composerxe/mkl/include/.f, /usrx/local/intel/composerxe/tbb/include/.f,/gpfs/gp2/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/intel64/.f, /gpfs/gp2/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/.f,/usr/local/include/.f,/usr/lib/gcc/x86_64-redhat-linux/4.4.6/include/.f, /usr/include/.f,/usr/include/.f -list filename : readin.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100