Page 1 Source Listing GRADFS 2025-03-12 18:22 /tmp/ifortTfO9Nn.i 1 # 1 "GRADFS.F" 2 C&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 3 SUBROUTINE GRADFS 4 C ****************************************************************** 5 C * * 6 C * THIS SUBROUTINE WAS MODIFIED BY Q. ZHAO TO BE USED IN THE * 7 C * ETA MODEL. 1993. 11. 18. * 8 C * * 9 C ****************************************************************** 10 C*** 11 C*** REQUIRED INPUT 12 C*** 13 1 (SIGL,KCCO2,NFILE) 14 C************** 15 C* SIGL(LP1): MIDLAYER PRESSURES IN PA (LP1=LM+1) 16 C* KCCO2: =0 (NOT USED) 17 C* NFILE: THE FILE NUMBER FOR O3 DATA 18 C************** 19 INCLUDE "parmeta" 43 INCLUDE "rdparm" 44 # 1 "./sp.h" 1 45 # 4 46 47 # 21 "GRADFS.F" 2 48 C*********************************************************************** 80 PARAMETER (LNGTH=37*L) 81 COMMON /RDFSAV/ EMISP,EMIST,XLATT,XLATP,Q19001,HP98,H3M6, 82 * HP75,H6M2,HP537,H74E1,H15E1,Q14330,HP2,TWENTY,HNINE, 83 * DEGRAD,HSIGMA,DAYSEC,RCO2, 84 * CAO3SW(5),CAH2SW(5),CBSW(5) 85 C====> ************************************************************** 86 C-- SEASONAL CLIMATOLOGIES OF O3 (OBTAINED FROM A PREVIOUSLY RUN 87 C CODE WHICH INTERPOLATES O3 TO USER VERTICAL COORDINATE). 88 C DEFINED AS 5 DEG LAT MEANS N.P.->S.P. 89 COMMON /SAVMEM/ 90 C- ...WINTER.... ...SPRING.... ...SUMMER.... ....FALL..... 91 1 DDUO3N(37,L), DDO3N2(37,L), DDO3N3(37,L), DDO3N4(37,L) 92 DIMENSION RAD1(LNGTH), RAD2(LNGTH), RAD3(LNGTH), RAD4(LNGTH) 93 EQUIVALENCE (RAD1(1),DDUO3N(1,1)),(RAD2(1),DDO3N2(1,1)) 94 EQUIVALENCE (RAD3(1),DDO3N3(1,1)),(RAD4(1),DDO3N4(1,1)) 95 C====> ************************************************************** 96 DIMENSION SIGL(LP1) 97 CZHAO DIMENSION SIGL(L) 98 DIMENSION XAO3SW(5),XAH2SW(5),XBSW(5) 99 DATA 100 1 XAO3SW / 0., .690, .480, .210, 0./ , 101 2 XAH2SW / 0., .690, .480, .210, 0./ , 102 3 XBSW / 0., .035, .020, .005, 0./ 103 CCCCCCMIC$ GUARD 0004 104 C..************************** 105 C..************************** 106 C ******************************************************** 107 C * ONE TIME COMPUTATION OF NECESSARY QUANTITIES * 108 C ******************************************************** 109 C.... INITIALIZE ARRAYS,GET CONSTANTS,ETC... 110 PI=3.1415927 111 Q19001=19.001 Page 2 Source Listing GRADFS 2025-03-12 18:22 GRADFS.F 112 HP98=0.98 113 H3M6=3.0E-6 114 HP537=0.537 115 H74E1=74.0 116 H15E1=15.0 117 Q14330=1.43306E-6 118 HP2=0.2 119 TWENTY=20.0 120 HNINE=9.0 121 DEGRAD=180.0/PI 122 HSIGMA=5.673E-5 123 DAYSEC=1.1574E-5 124 C ATMOSPERIC CARBON DIOXIDE CONCENTRATION IS NOW READ BY CONRAD, 125 C BUT IT DEFAULTS TO 330 PPM FOR BACKWARD COMPATIBILITY. 126 RCO2=3.3E-4 127 CALL HCONST 128 C.... INTERPOLATE CLIMO O3 TO THE CURRENT VERTICAL COORDINATE... 129 C.. NEED LAYER SIGMA, GET FROM PSFC AND LAYER P FOR I=1..... 130 DO 3 I = 1 , 5 131 CAO3SW(I) = XAO3SW(I) 132 CAH2SW(I) = XAH2SW(I) 133 CBSW(I) = XBSW(I) 134 3 CONTINUE 135 C*** 136 C*** CONVERT SIGL FROM PA TO MB TO BE USED IN O3INT 137 C*** 138 DO 100 LV=1,LP1 139 SIGL(LV)=0.01*SIGL(LV) 140 100 CONTINUE 141 CALL O3INT(SIGL) 142 CALL CONRAD(NFILE) 143 C.... AVERAGE CLIMATOLOGICAL VALUS OF O3 FROM 5 DEG LAT MEANS, SO THAT 144 C TIME AND SPACE INTERPOLATION WILL WORK (DONE ELSEWHERE IN RADFS) 145 DO 5 I=1,LNGTH 146 AVG=.25E0*(RAD1(I)+RAD2(I)+RAD3(I)+RAD4(I)) 147 A1=.5E0*(RAD2(I)-RAD4(I)) 148 B1=.5E0*(RAD1(I)-RAD3(I)) 149 B2=.25E0*((RAD1(I)+RAD3(I))-(RAD2(I)+RAD4(I))) 150 RAD1(I)=AVG 151 RAD2(I)=A1 152 RAD3(I)=B1 153 RAD4(I)=B2 154 5 CONTINUE 155 EMIST = .6E0 156 EMISP = .3E0 157 XLATP = 60.E0 158 XLATT = 30.E0 159 C 160 RETURN 161 END Page 3 Source Listing GRADFS 2025-03-12 18:22 Entry Points GRADFS.F ENTRY POINTS Name gradfs_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 100 Label 140 138 3 Label 134 130 5 Label 154 145 A1 Local 147 R(4) 4 scalar 147,151 AVG Local 146 R(4) 4 scalar 146,150 B1 Local 148 R(4) 4 scalar 148,152 B2 Local 149 R(4) 4 scalar 149,153 CONRAD Subr 142 142 GRADFS Subr 3 HCONST Subr 127 127 I Local 130 I(4) 4 scalar 130,131,132,133,145,146,147,148,14 9,150,151,152,153 IDIM1 Param 39 I(4) 4 scalar IDIM2 Param 39 I(4) 4 scalar IGSTL Param 34 I(4) 4 scalar 39 IGSTR Param 34 I(4) 4 scalar 39 IM Param 22 I(4) 4 scalar 36,39,63 IMAX Param 63 I(4) 4 scalar 76 INLTE Param 75 I(4) 4 scalar 75 INLTEP Param 75 I(4) 4 scalar INPES Param 31 I(4) 4 scalar 36,39 ITAIL Param 36 I(4) 4 scalar JDIM1 Param 40 I(4) 4 scalar JDIM2 Param 40 I(4) 4 scalar JGSTL Param 35 I(4) 4 scalar 40 JGSTR Param 35 I(4) 4 scalar 40 JM Param 22 I(4) 4 scalar 37,40 JNPES Param 31 I(4) 4 scalar 37,40 JTAIL Param 37 I(4) 4 scalar KCCO2 Dummy 13 I(4) 4 scalar ARG,INOUT KO2 Param 78 I(4) 4 scalar 79 KO21 Param 79 I(4) 4 scalar KO2M Param 79 I(4) 4 scalar L Param 62 I(4) 4 scalar 66,67,68,71,73,80,91 LL Param 68 I(4) 4 scalar 68,69 LL3P Param 73 I(4) 4 scalar 76 LL3PI Param 76 I(4) 4 scalar LLM1 Param 69 I(4) 4 scalar LLM2 Param 69 I(4) 4 scalar LLM3 Param 69 I(4) 4 scalar LLP1 Param 68 I(4) 4 scalar 76 LLP1I Param 76 I(4) 4 scalar LLP2 Param 68 I(4) 4 scalar LLP3 Param 68 I(4) 4 scalar Page 4 Source Listing GRADFS 2025-03-12 18:22 Symbol Table GRADFS.F Name Object Declared Type Bytes Dimen Elements Attributes References LM Param 22 I(4) 4 scalar 62 LM1 Param 67 I(4) 4 scalar LM2 Param 67 I(4) 4 scalar LM3 Param 67 I(4) 4 scalar LNGTH Param 80 I(4) 4 scalar 92,145 LP1 Param 66 I(4) 4 scalar 70,71,72,76,96,138 LP121 Param 72 I(4) 4 scalar LP1I Param 76 I(4) 4 scalar LP1M Param 70 I(4) 4 scalar 70 LP1M1 Param 70 I(4) 4 scalar LP1V Param 71 I(4) 4 scalar LP2 Param 66 I(4) 4 scalar LP3 Param 66 I(4) 4 scalar LSM Param 22 I(4) 4 scalar LV Local 138 I(4) 4 scalar 138,139 NB Param 74 I(4) 4 scalar 77 NB1 Param 77 I(4) 4 scalar NBLM Param 65 I(4) 4 scalar NBLW Param 64 I(4) 4 scalar NBLX Param 64 I(4) 4 scalar NBLY Param 64 I(4) 4 scalar 65,72 NFILE Dummy 13 I(4) 4 scalar ARG,INOUT 142 NNLTE Param 75 I(4) 4 scalar O3INT Subr 141 141 PI Local 110 R(4) 4 scalar 110,121 RDFSAV Common 81 140 SAVMEM Common 89 26640 SIGL Dummy 13 R(4) 4 1 46 ARG,INOUT 139,141 XAH2SW Local 98 R(4) 4 1 5 101,132 XAO3SW Local 98 R(4) 4 1 5 100,131 XBSW Local 98 R(4) 4 1 5 102,133 TYPE COMPONENTS/COMMON VARIABLES Name Type Bytes Offset Dimen Elements Attributes References CAH2SW R(4) 4 100 1 5 COM 132 CAO3SW R(4) 4 80 1 5 COM 131 CBSW R(4) 4 120 1 5 COM 133 DAYSEC R(4) 4 72 scalar COM 123 DDO3N2 R(4) 4 6660 2 1665 COM DDO3N3 R(4) 4 13320 2 1665 COM DDO3N4 R(4) 4 19980 2 1665 COM DDUO3N R(4) 4 0 2 1665 COM DEGRAD R(4) 4 64 scalar COM 121 EMISP R(4) 4 0 scalar COM 156 EMIST R(4) 4 4 scalar COM 155 H15E1 R(4) 4 44 scalar COM 116 H3M6 R(4) 4 24 scalar COM 113 H6M2 R(4) 4 32 scalar COM H74E1 R(4) 4 40 scalar COM 115 HNINE R(4) 4 60 scalar COM 120 HP2 R(4) 4 52 scalar COM 118 HP537 R(4) 4 36 scalar COM 114 Page 5 Source Listing GRADFS 2025-03-12 18:22 Symbol Table GRADFS.F Name Type Bytes Offset Dimen Elements Attributes References HP75 R(4) 4 28 scalar COM HP98 R(4) 4 20 scalar COM 112 HSIGMA R(4) 4 68 scalar COM 122 Q14330 R(4) 4 48 scalar COM 117 Q19001 R(4) 4 16 scalar COM 111 RAD1 R(4) 4 0 1 1665 COM 146,148,149,150 RAD2 R(4) 4 6660 1 1665 COM 146,147,149,151 RAD3 R(4) 4 13320 1 1665 COM 146,148,149,152 RAD4 R(4) 4 19980 1 1665 COM 146,147,149,153 RCO2 R(4) 4 76 scalar COM 126 TWENTY R(4) 4 56 scalar COM 119 XLATP R(4) 4 12 scalar COM 157 XLATT R(4) 4 8 scalar COM 158 Page 6 Source Listing GRADFS 2025-03-12 18:22 Subprograms/Common Blocks GRADFS.F SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References GRADFS Subr 3 RDFSAV Common 81 140 SAVMEM Common 89 26640 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 GRADFS 2025-03-12 18:22 GRADFS.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 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 nono_prec_div -fp_modbits noprec_sqrt -fp_modbits nono_prec_sqrt -fp_modbits noftz -fp_modbits no_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 nono_precise_libm_functions -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 Page 8 Source Listing GRADFS 2025-03-12 18:22 GRADFS.F -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 -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 : GRADFS.lst no -o COMPILER: Intel(R) Fortran 19.1-1655