Page 1 Source Listing NETAL 2025-03-12 18:23 NETAL.f 1 SUBROUTINE NETAL(FLD3D,ITYPE,L,LMHLMV,EGRID) 2 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 3 C . . . 4 C SUBPROGRAM: NETAL EXTRACT ETA LAYER DATA. 5 C PRGRMMR: TREADON ORG: W/NP2 DATE: 93-04-02 6 C 7 C ABSTRACT: 8 C THIS ROUTINE EXTRACTS FROM THE 3D ARRAY FLD3D ON EITHER 9 C ETA LAYER L OR ATMOSPHERIC ETA LAYER L. BY "ETA LAYER L" 10 C WE MEAN EXTRACTING DATA ON THE CONSTANT ETA LAYER L, 11 C REGARDLESS OF THE MODEL TERRAIN. THIS IS SIMPLY A 12 C HORIZONTAL SLICE THROUGH THE VOLUME FLD3D AT VERTICAL 13 C LEVEL L. BY "ATMOSPHERIC ETA LAYER L WE MEAN THE TERRAIN 14 C FOLLOWING LAYER CONSISTING OF ALL ETA LAYERS L LAYERS 15 C ABOVE THE LOCAL MODEL SURFACE. 16 C 17 C INTEGER FLAG ITYPE CONTROLS WHICH TYPE OF ETA LAYER DATA 18 C TO EXTRACT. FOR ITYPE=1 EXTRACT DATA ON CONSTANT ETA 19 C LAYER L. FOR ITYPE GREATER THAN ONE EXTRACT DATA ON 20 C ATMOSPHERIC ETA LAYER L. 21 C . 22 C 23 C PROGRAM HISTORY LOG: 24 C 93-04-02 RUSS TREADON 25 C 98-06-08 T BLACK - CONVERSION FROM 1-D TO 2-D 26 C 00-01-04 JIM TUCCILLO - MPI VERSION 27 C 28 C USAGE: CALL NETAL(FLD3D,ITYPE,L,LMHLMV,EGRID) 29 C INPUT ARGUMENT LIST: 30 C FLD3D - 3D VOLUME OF DATA ON ETA SURFACES. 31 C ITYPE - FLAG CONTROLLING TYPE OF DATA EXTRACTION. 32 C L - LEVEL TO EXTRACT. 33 C LMHLMV - HORIZONTAL ARRAY CONTAINING VERTICAL INDEX 34 C OF FIRST ATMOSPHERIC ETA LAYER. 35 C 36 C OUTPUT ARGUMENT LIST: 37 C EGRID - HORIZONTAL ARRAY CONTAINING ETA LAYER DATA. 38 C 39 C OUTPUT FILES: 40 C 41 C 42 C SUBPROGRAMS CALLED: 43 C UTILITIES: 44 C NONE 45 C LIBRARY: 46 C NONE 47 C 48 C ATTRIBUTES: 49 C LANGUAGE: FORTRAN 50 C MACHINE : CRAY C-90 51 C$$$ 52 C 53 C 54 C 55 C 56 C INCLUDE PARAMETERS. 57 INCLUDE "parmeta" Page 2 Source Listing NETAL 2025-03-12 18:23 NETAL.f 75 INCLUDE "CTLBLK.comm" 76 C 77 C DECLARE VARIABLES. 92 INTEGER LMHLMV(IM,JM) 93 REAL EGRID(IM,JM), FLD3D(IM,JM,LM) 94 C 95 C 96 C*************************************************************** 97 C START NETAL HERE. 98 C 99 C 100 C CASE WHEN ITYPE=1. 101 C LOAD ETA LEVEL L INTO EGRID. 102 C 103 IF (ITYPE.EQ.1) THEN 104 LGET = L 105 DO J=JSTA,JEND 106 DO I=1,IM 107 EGRID(I,J) = FLD3D(I,J,LGET) 108 ENDDO 109 ENDDO 110 C 111 C CASE WHEN ITYPE.GT.1. 112 C LOAD ATMOSPHERIC ETA LAYER L INTO EGRID. 113 C 114 ELSEIF (ITYPE.GT.1) THEN 115 LOFF = L-1 116 DO J=JSTA,JEND 117 DO I=1,IM 118 LGET = LMHLMV(I,J) - LOFF 119 IF (LGET.LT.01) LGET = 01 120 IF (LGET.GT.LM) LGET = LM 121 EGRID(I,J) = FLD3D(I,J,LGET) 122 ENDDO 123 ENDDO 124 ENDIF 125 CX 126 CX DEBUG PRINTS BELOW. 127 CX 128 CX IF (ITYPE.GT.1) THEN 129 CX WRITE(81,*)' ' 130 CX WRITE(81,*)'LISTING FOR NEW FIELD.' 131 CX CALL MINMAX(EGRID,IM,JM,FMIN,FMAX) 132 CX WRITE(81,*)' FMIN,FMAX: ',FMIN,FMAX 133 CX DO J=JSTA,JEND 134 CX DO I=1,IM 135 CX LOFF = L-1 136 CX LGET = LMHLMV(I,J) - LOFF 137 CX DIFF = FLD3D(I,J,LGET)-EGRID(I,J) 138 CX IF (DIFF.NE.0.) WRITE(81,*)'WARNING: DIFF.NE.0.' 139 CX WRITE(81,1234) I,J,L,LOFF,LMHLMV(I,J), 140 CX X FLD3D(I,J,LGET),EGRID(I,J),DIFF 141 CX 1234 FORMAT(I3,1X,I3,,1X,3(I2,1X),3(G12.6,1X)) 142 CX END DO 143 CX END IF 144 C 145 C END OF ROUTINE. Page 3 Source Listing NETAL 2025-03-12 18:23 NETAL.f 146 C 147 RETURN 148 END ENTRY POINTS Name netal_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References CTLBLK Common 79 96 SAVE EGRID Dummy 1 R(4) 4 2 91719 ARG,INOUT 107,121 FLD3D Dummy 1 R(4) 4 3 4127355 ARG,INOUT 107,121 I Local 106 I(4) 4 scalar 106,107,117,118,121 IDIM1 Param 71 I(4) 4 scalar IDIM2 Param 71 I(4) 4 scalar IGSTL Param 66 I(4) 4 scalar 71 IGSTR Param 66 I(4) 4 scalar 71 IM Param 60 I(4) 4 scalar 68,71,92,93,106,117 INPES Param 63 I(4) 4 scalar 68,71 ITAIL Param 68 I(4) 4 scalar ITYPE Dummy 1 I(4) 4 scalar ARG,INOUT 103,114 J Local 105 I(4) 4 scalar 105,107,116,118,121 JDIM1 Param 72 I(4) 4 scalar JDIM2 Param 72 I(4) 4 scalar JGSTL Param 67 I(4) 4 scalar 72 JGSTR Param 67 I(4) 4 scalar 72 JM Param 60 I(4) 4 scalar 69,72,92,93 JNPES Param 63 I(4) 4 scalar 69,72 JTAIL Param 69 I(4) 4 scalar L Dummy 1 I(4) 4 scalar ARG,INOUT 104,115 LGET Local 104 I(4) 4 scalar 104,107,118,119,120,121 LM Param 60 I(4) 4 scalar 93,120 LMHLMV Dummy 1 I(4) 4 2 91719 ARG,INOUT 118 LOFF Local 115 I(4) 4 scalar 115,118 LSM Param 60 I(4) 4 scalar NETAL Subr 1 PARALLEL Common 86 8240 TYPE COMPONENTS/COMMON VARIABLES Name Type Bytes Offset Dimen Elements Attributes References DT R(4) 4 48 scalar COM FIRST R(4) 4 24 scalar COM ICNT I(4) 4 40 1 1024 COM IDAT I(4) 4 8 1 3 COM IDN I(4) 4 36 scalar COM IDSP I(4) 4 4136 1 1024 COM IDTAD I(4) 4 68 scalar COM Page 4 Source Listing NETAL 2025-03-12 18:23 Symbol Table NETAL.f Name Type Bytes Offset Dimen Elements Attributes References IHRST I(4) 4 20 scalar COM IOUT I(4) 4 44 scalar COM IUP I(4) 4 32 scalar COM JEND I(4) 4 12 scalar COM 105,116 JEND_2U I(4) 4 8236 scalar COM JEND_M I(4) 4 20 scalar COM JEND_M2 I(4) 4 28 scalar COM JSTA I(4) 4 8 scalar COM 105,116 JSTA_2L I(4) 4 8232 scalar COM JSTA_M I(4) 4 16 scalar COM JSTA_M2 I(4) 4 24 scalar COM LIST I(4) 4 40 scalar COM ME I(4) 4 4 scalar COM NBC I(4) 4 36 scalar COM NBOCO I(4) 4 72 scalar COM NCP I(4) 4 80 scalar COM NDDAMP I(4) 4 60 scalar COM NFCST I(4) 4 32 scalar COM NPHS I(4) 4 84 scalar COM NPREC I(4) 4 64 scalar COM NRADL I(4) 4 92 scalar COM NRADS I(4) 4 88 scalar COM NSHDE I(4) 4 76 scalar COM NTSD I(4) 4 52 scalar COM NTSTM I(4) 4 56 scalar COM NUM_PROCS I(4) 4 0 scalar COM RESTRT R(4) 4 28 scalar COM RUN R(4) 4 4 scalar COM SIGMA R(4) 4 0 scalar COM Page 5 Source Listing NETAL 2025-03-12 18:23 NETAL.f 149 Page 6 Source Listing NETAL 2025-03-12 18:23 Subprograms/Common Blocks NETAL.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CTLBLK Common 79 96 SAVE NETAL Subr 1 PARALLEL Common 86 8240 COMPILER OPTIONS BEING USED -align noall -align nonone -align nocommons -align nodcommons -align noqcommons -align nozcommons -align records -align nosequence -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__ Page 7 Source Listing NETAL 2025-03-12 18:23 NETAL.f -D __amd64 -D __amd64__ -D __INTEL_COMPILER_BUILD_DATE=20200925 -D __INTEL_OFFLOAD -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__ -D __CRAY_X86_ROME -D __CRAYXT_COMPUTE_LINUX_TARGET -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 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 -g2 -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 -O2 no -pad_source -real_size 32 no -recursive -reentrancy threaded -vec=simd -show nofullpath -show noinclude -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 Page 8 Source Listing NETAL 2025-03-12 18:23 NETAL.f -includepath : /pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/include/,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/, .f90,./.f90,/opt/cray/pe/mpich/8.1.12/ofi/intel/19.0/include/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/ipp/include/.f90, /pe/intel/compilers_and_libraries_2020.4.304/linux/mkl/include/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/include/.f90, /pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/stdlib/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/tbb/include/.f90, /pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/intel64/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/icc/.f90, /pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/.f90,/usr/lib64/gcc/x86_64-suse-linux/7/include/.f90, /usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/.f90,/usr/include/.f90,/usr/include/.f90,/usr/include/.f90 -list filename : NETAL.lst no -o COMPILER: Intel(R) Fortran 19.1-1655